首页  编辑  

MySQL核心经验总结

Tags: /MySQL/   Date Created:

1. 如果要支持集群,就最好不要用太多存储过程,直接用查询来写!

2. 支持集群的话,用MySQL代理,做到读写分离!

3. 尽量采用单表模式

4. 单表如果数据量很大,请务必使用分区,可以考虑基于时间分区,分区以后维护的时候,可以多个分区同时操作!

例如:

for i in 11 10 09 01 02 03 04 05 06 07 08 ; do ./update_table.sh $i APP_NETWORK_EXCEPTION & done;

上面可以对APP_NETWORK_EXCEPTION表(以月分区的),可以同时开11个线程来UPDATE不同分区的数据,效率很高

// update_table.sh内容如下:

for i in $1

do

 for j in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

 do

   for k in 00 05 08 09 10 11 12 14 15 16 17 19 20 23

   do

     sql="use table; UPDATE table.$2 A SET field = aaaa

WHERE EVENT_TIME BETWEEN \"2015-$i-$j\" AND \"2015-$i-$j $k:59:59\" AND CITY IS NULL;"

     mysql -uroot -ppassword -e "$sql"

     sleep 1

   done

 done

done