网站改名工信部需要怎么做,网站开发用哪个软件,脚本链接 弹出网站正在建设中,做全景图有哪些网站1、分库分表 很明显#xff0c;一个主表#xff08;也就是很重要的表#xff0c;例如用户表#xff09;无限制的增长势必严重影响性能#xff0c;分库与分表是一个很不错的解决途径#xff0c;也就是性能优化途径#xff0c;现在的案例是我们有一个1000多万条记录的用户… 1、分库分表 很明显一个主表也就是很重要的表例如用户表无限制的增长势必严重影响性能分库与分表是一个很不错的解决途径也就是性能优化途径现在的案例是我们有一个1000多万条记录的用户表members,查询起来非常之慢同事的做法是将其散列到100个表中分别从members0到members99然后根据mid分发记录到这些表中牛逼的代码大概是这样子 复制代码?php
for($i0;$i 100; $i ){
//echo CREATE TABLE db2.members{$i} LIKE db1.membersbr;
echo INSERT INTO members{$i} SELECT * FROM members WHERE mid%100{$i}br;
}
?2、不停机修改mysql表结构 同样还是members表前期设计的表结构不尽合理随着数据库不断运行其冗余数据也是增长巨大同事使用了下面的方法来处理 先创建一个临时表 /*创建临时表*/ CREATE TABLE members_tmp LIKE members 然后修改members_tmp的表结构为新结构接着使用上面那个for循环来导出数据因为1000万的数据一次性导出是不对的mid是主键一个区间一个区间的导基本是一次导出5万条吧这里略去了 接着重命名将新表替换上去 /*这是个颇为经典的语句哈*/ RENAME TABLE members TO members_bak,members_tmp TO members; 就是这样基本可以做到无损失无需停机更新表结构但实际上RENAME期间表是被锁死的所以选择在线少的时候操作是一个技巧。经过这个操作使得原先8G多的表一下子变成了2G多 另外还讲到了mysql中float字段类型的时候出现的诡异现象就是在pma中看到的数字根本不能作为条件来查询.感谢zj同学的新鲜分享。您可能感兴趣的文章:MYSQL IN 与 EXISTS 的优化示例介绍实现MySQL定时批量检查表repair和优化表optimize table的shell脚本MySQL性能优化之路---修改配置文件my.cnfMySQL5.6基本优化配置浅析Mysql Join语法以及性能优化MySQL优化必须调整的10项配置mysql数据库优化总结(心得)MySQL Order by 语句用法与优化详解mysql嵌套查询和联表查询优化方法MySQL 百万级分页优化(Mysql千万级快速分页)MySQL配置文件my.cnf中文详解附mysql性能优化方法分享mysql千万级数据大表该如何优化?mysql limit分页优化方法分享mysql优化配置参数MySQL 性能优化的最佳20多条经验分享MySQL数据库优化详解 转载于:https://blog.51cto.com/fccwcom/1583452