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);
        }
Exemple #2
0
        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);
            //}
        }