/// <exception cref="System.Exception" /> public virtual void Perf() { TestProvider provider; provider = new InsertLongSQLGen(); provider = new InsertLongSQLGenShort(); provider = new SelectShort(); provider = new InsertLong(); provider = new SelectLongIn(); provider = new ShardingMultiTableSpace(); provider = new ShardingDefaultSpace(); provider = new ShardingTableSpace(); var schema = GetSchema(); var sql = provider.GetSql(); Console.Out.WriteLine(ServerRouter.Route(schema, sql, null, null)); var start = Runtime.CurrentTimeMillis(); provider.Route(schema, 1, sql); long end; var loop = 200 * 10000; start = Runtime.CurrentTimeMillis(); provider.Route(schema, loop, sql); end = Runtime.CurrentTimeMillis(); Console.Out.WriteLine((end - start) * 1000.0d / loop + " us"); }
// schema = // CobarServer.getInstance().getConfig().getSchemas().get("cndb"); /// <summary>路由到tableSpace的�?�能测试</summary> /// <exception cref="System.Data.Sql.SQLNonTransientException" /> public virtual void TestTableSpace() { var schema = GetSchema(); var sql = "insert into offer (member_id, gmt_create) values ('1','2001-09-13 20:20:33')"; for (var i = 0; i < 1000000; i++) { ServerRouter.Route(schema, sql, null, null); } }
// CobarConfig conf = CobarServer.getInstance().getConfig(); // schema = conf.getSchemas().get("dubbo"); /// <exception cref="System.Data.Sql.SQLNonTransientException" /> public virtual void TestDefaultSpace() { var schema = this.schema; var stmt = "insert into offer (member_id, gmt_create) values ('1','2001-09-13 20:20:33')"; for (var i = 0; i < 1000000; i++) { ServerRouter.Route(schema, stmt, null, null); } }
// schema = // CobarServer.getInstance().getConfig().getSchemas().get("cndb"); /// <summary>路由到tableSpace的�?�能测试</summary> /// <exception cref="System.Data.Sql.SQLNonTransientException" /> public virtual void TestTableSpace() { var schema = GetSchema(); var sql = "select id,member_id,gmt_create from offer where member_id in ('1','22','333','1124','4525')"; for (var i = 0; i < 100000; i++) { ServerRouter.Route(schema, sql, null, null); } }
/// <exception cref="System.Exception" /> public override void Route(SchemaConfig schema, int loop, string sql) { for (var i = 0; i < loop; ++i) { // SQLLexer lexer = new SQLLexer(sql); // DmlSelectStatement select = new DmlSelectParser(lexer, new // SQLExprParser(lexer)).select(); // PartitionKeyVisitor visitor = new // PartitionKeyVisitor(schema.getTablesSpace()); // select.accept(visitor); // visitor.getColumnValue(); ServerRouter.Route(schema, sql, null, null); } }
public async Task Process() { try { await stream.Write(await ServerRouter.SetResponse(stream)); } catch (Exception ex) { Logger.Print(ex.ToString()); } finally { CloseConnections(); } }