import java.util.concurrent.atomic.AtomicLong
def mt = ``new mysql_test(url: ``"jdbc:[mysql://127.0.0.1:3306/test?characterEncoding=GBK&useServerPrepStmts=true&cachePrepStmts=true](3306/test?characterEncoding=GBK&useServerPrepStmts=true&cachePrepStmts=true)"``,
``usr: ``"test"``, pwd: ``"test"``, table_name: ``"test"``)
mt.table_num = ``1 //分表的数量
mt.run_times = ``2500 //执行的总次数
mt.thread_num = ``100 //启用线程数(连接数),如果是mysql_test_for_thd 此值没有意义
def select_id = ``new AtomicLong(1L) ``//设定一个起始的读id
def update_id = ``new AtomicLong(1L) ``//设定一个起始的写id
mt.add_sql(``"""select * from no_id where uuid='#id#'"""``,
``{id -> [``"id"``: select_id.getAndAdd(``1``)]},
``100``) ``//加入一个读的SQL ,id从1开始执行一次就加1,读比是100 如果是mysql_test_for_thd 就是启100个线程来执行这个sql, 其中第二个参数id,是内部生成的一个自增id,如果第二个参数id对应的是List的话,会使用useServerPrepStmts,来逐个匹配参数
mt.add_sql(``"""insert into test value(null,#id#,'nick:#id#','fullname:#id#','phone:#id#',#id#)"""``,
``{id -> [``"id"``: update_id.getAndAdd(``1``)]},
``10``) ``//同样的加入一个写的SQL
mt.run() ``//开始执行
|