05

关于MySQL线程池资料整理–Percona Server

MySQL执行statement使用一个连接一个thread的方式,当连接数增加到某一个点,那么性能将会开始下降.
这个特性的作用就是无论有多少连接,thread pool都讲保证性能处于最好水平.
thread pool的原理主要是减少线程,减少上下文交换和锁资源争抢,针对OLTP环境特别有效.
为可以开启thread pool功能,请将thread_handling=pool-of-threads.
percona server实现的thread pool是在server级别,和oracle mysql的不一样(插件形式),另外一个不同点在于,percona的thread pool不尝试最小化并发事物数量.

继续阅读全文

十二 01

数据库分表后,并发环境下,生成全局id生成的几种方式

最近一个项目由于数据量变大,需要进行数据分表。数据存储在淘宝的tddl上。分表后,原先的自增id就不能使用了。tddl对java支持很好,分表后无需考虑全局id的问题。但是这个项目使用的是php进行开发,必须自己生成全局id。以下列出几种分表方案,仅当抛砖引玉。

继续阅读全文