Mysql單表數據量超過500萬條。html
一、阿里雲的DRDSmysql
二、Mycat ---數據庫分庫分表中間件;sql
三、TiDB;數據庫
一、阿里雲DRDS是收費的商業版,價格稍貴,可是比SqlServer便宜多了;json
二、MyCat分庫分表,單表數據量在500萬--5000萬用最適合;服務器
三、TiDB,單表數據量超過5000萬以上最適合;app
四、3種解決方案都是詳細的文檔;運維
五、使用過程當中,運維維護成本,阿里雲DRDS最方便最省事,TIDB其次,MyCat最差;錢多的就用阿里雲DRDS.ide
一、跟直接鏈接Mysql基本一致;性能
二、引用Oracle官方的Mysql組件;
三、3種解決方案的sql有些出入,查看各自官方文檔;
一、阿里雲的DRDS毋庸置疑,TIDB在處理5000萬以上的量,優點最明顯;若是量級達到這個級別,就不要選擇MyCat了。
二、MyCat的性能到底 如何,咱們的項目目前也在初步試用中。
一、首要要本身安裝MyCat,安裝方法參照以下:
http://www.zyiz.net/tech/detail-123157.html
http://www.zyiz.net/tech/detail-123156.html
安裝好,配置好,啓動;(配置方面,之後再講吧)
二、接下來我寫個Demo的EFCore代碼,你們能夠自行修改,加入到本身的代碼裏。
一、引用Oracle官方的MySql鏈接器:
MySql.Data.EntityFrameworkCore
二、建立數據實體和DBContext:
using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace NetCore3WebTest.Models { public class CourseContext: DbContext { //public CourseSContext(DbContextOptions<CourseSContext> options) : base(options) //{//沐雪大神在此 //個人原創文章http://www.javashuo.com/article/p-aurdqefg-cs.html,轉載能留個出處嗎? //} string connstr = "server=mysqldb.www.zyiz.net;port=8066;uid=root;pwd=123456;database=TESTDB"; protected override void OnConfiguring(DbContextOptionsBuilder options) => options.UseMySQL(connstr); public DbSet<Course> course { get; set; } } public partial class Course { ///<summary> ///id ///</summary> public int id { get; set; } ///<summary> ///業務主鍵-年月-guid ///</summary> public string course_id { get; set; } ///<summary> ///課程名稱 ///</summary> public string course_name { get; set; } } }
注:
1、Mysql的端口號爲3306,能夠默認不寫;可是MyCat的端口號爲8066,必須指定;
二、DBContext能夠寫在StartUp裏,鏈接字符串能夠寫在appsettings.json裏,我這裏只是爲了演示,簡單寫了。
三、連接字符串說明:
server=MyCat的服務器地址;port=8066;uid=MyCat在server.xml裏配置的UserName;pwd=UserName的密碼;database=MyCat配置裏的schemas名稱(非Mysql的庫名稱)
解釋的夠清楚了吧!!
三、測試:
using(var db=new CourseContext()) { var list = db.Course.OrderBy(p=>p.id).ToList<Course>(); JsonResult js = Json(list); return js; }
至於新增、修改、刪掉,跟之前的代碼一致。就不一一演示了。MyCat的分庫分表的配置,要看官方的文檔介紹,一一配置好。
官方的教程網址以下:http://www.mycat.io/document/mycat-definitive-guide.pdf
文章若是你以爲好,能給個「推薦」不?