static void Main(string[] args) { InternalLoggerFactory.DefaultFactory = LoggerFactory.Create(builder => { builder.AddFilter("Microsoft", LogLevel.Warning) .AddFilter("System", LogLevel.Warning) .AddSimpleConsole(c => c.TimestampFormat = "[yyyy-MM-dd HH:mm:ss]"); }); //var dbProviderFactory = ShardingCreateDbProviderFactory.CreateDataSource(dataSourceMap, new ShardingRuleConfiguration(), // new Dictionary<string, object>()); var dataSourceMap = new Dictionary <string, IDataSource>() { { "ds0", new GenericDataSource(MySqlConnectorFactory.Instance, conn, true) } }; //2、分库分表配置 ShardingRuleConfiguration shardingRuleConfig = new ShardingRuleConfiguration(); //2.2、配置各个表的分库分表策略,这里只配了一张表的就是t_order shardingRuleConfig.TableRuleConfigs.Add(CreateSysUserModTableRule()); //2.5、配置默认分表规则 shardingRuleConfig.DefaultTableShardingStrategyConfig = new NoneShardingStrategyConfiguration(); //2.6、配置默认分库规则(不配置分库规则,则只采用分表规则) shardingRuleConfig.DefaultDatabaseShardingStrategyConfig = new NoneShardingStrategyConfiguration(); //2.7、配置默认数据源 shardingRuleConfig.DefaultDataSourceName = "ds0"; var shardingDbProviderFactory = new ShardingDbProviderFactory(dataSourceMap, shardingRuleConfig, new Dictionary <string, object>()); Test1(shardingDbProviderFactory); }
static void Main(string[] args) { InternalLoggerFactory.DefaultFactory = LoggerFactory.Create(builder => { builder.AddFilter("Microsoft", LogLevel.Warning) .AddFilter("System", LogLevel.Warning) .AddSimpleConsole(c => c.TimestampFormat = "[yyyy-MM-dd HH:mm:ss]"); }); //var dbProviderFactory = ShardingCreateDbProviderFactory.CreateDataSource(dataSourceMap, new ShardingRuleConfiguration(), // new Dictionary<string, object>()); var dataSourceMap = new Dictionary <string, IDataSource>() { { "ds0", new GenericDataSource(MySqlConnectorFactory.Instance, conn, true) } }; //2、分库分表配置 ShardingRuleConfiguration shardingRuleConfig = new ShardingRuleConfiguration(); //2.2、配置各个表的分库分表策略,这里只配了一张表的就是t_order shardingRuleConfig.TableRuleConfigs.Add(CreateSysUserModTableRule()); //2.5、配置默认分表规则 shardingRuleConfig.DefaultTableShardingStrategyConfig = new NoneShardingStrategyConfiguration(); //2.6、配置默认分库规则(不配置分库规则,则只采用分表规则) shardingRuleConfig.DefaultDatabaseShardingStrategyConfig = new NoneShardingStrategyConfiguration(); //2.7、配置默认数据源 shardingRuleConfig.DefaultDataSourceName = "ds0"; var shardingDbProviderFactory = new ShardingDbProviderFactory(dataSourceMap, shardingRuleConfig, new Dictionary <string, object>()); // var dataSource = ShardingDataSourceFactory.CreateDataSource(dataSourceMap, shardingRuleConfig, new Dictionary<string, object>()); Query(shardingDbProviderFactory); // Stopwatch stopwatch = Stopwatch.StartNew(); // for (int i = 0; i < 1000; i++) // { // QueryTest1(shardingDbProviderFactory); // } // stopwatch.Stop(); // Console.WriteLine($"第1次:{stopwatch.ElapsedMilliseconds}"); // stopwatch.Restart(); // for (int i = 0; i < 1000; i++) // { // QueryTest2(); // } // stopwatch.Stop(); // Console.WriteLine($"第2次:{stopwatch.ElapsedMilliseconds}"); // // stopwatch.Restart(); // for (int i = 0; i < 1000; i++) // { // QueryTest1(shardingDbProviderFactory); // } // stopwatch.Stop(); // Console.WriteLine($"第3次:{stopwatch.ElapsedMilliseconds}"); // // stopwatch.Restart(); // for (int i = 0; i < 1000; i++) // { // QueryTest2(); // } // stopwatch.Stop(); // Console.WriteLine($"第4次:{stopwatch.ElapsedMilliseconds}"); //for (int i = 0; i < 20; i++) //{ QueryPage(shardingDbProviderFactory); QueryMax(shardingDbProviderFactory); Delete(shardingDbProviderFactory); Insert(shardingDbProviderFactory); Update(shardingDbProviderFactory); Query(shardingDbProviderFactory); Query1(shardingDbProviderFactory); //} }