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
文章若是你以为好,能给个“推荐”不?