sql性能优化(利用merge)
来源:互联网 发布:英国知名网络品牌 编辑:程序博客网 时间:2024/06/05 15:13
业务背景:
当被查询的表的数据量非常庞大的时候,你的一个查询将会非常的缓慢。为了提高 查询性能。
1。利用merge 是做到sql集群,类似分表。但不是真正意义上的分表。
例如 user 表有 100 万条数据。
CREATE TABLE IF NOT EXISTS `user1` ( -> `id` int(11) NOT NULL AUTO_INCREMENT, -> `name` varchar(50) DEFAULT NULL, -> `sex` int(1) NOT NULL DEFAULT '0', -> PRIMARY KEY (`id`) -> ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; Query OK, 0 rows affected (0.05 sec) mysql> CREATE TABLE IF NOT EXISTS `user2` ( -> `id` int(11) NOT NULL AUTO_INCREMENT, -> `name` varchar(50) DEFAULT NULL, -> `sex` int(1) NOT NULL DEFAULT '0', -> PRIMARY KEY (`id`) -> ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; Query OK, 0 rows affected (0.01 sec)
然后将两张表整合在一起
CREATE TABLE IF NOT EXISTS `user` ( -> `id` int(11) NOT NULL AUTO_INCREMENT, -> `name` varchar(50) DEFAULT NULL, -> `sex` int(1) NOT NULL DEFAULT '0', -> INDEX(id) -> ) TYPE=MERGE UNION=(user1,user2) INSERT_METHOD=LAST AUTO_INCREMENT=1 ; Query OK, 0 rows affected, 1 warning (0.00 sec)
有些人肯定会说分两张表后,哪些数据sql怎么办?
这时把mysql文件的语句改,在上一步建user表的时候,user表名与数据库现有的user名保持一致。这样就解决了现存数据的问题
当然,不是所有的mysql都能这么操作。
阅读全文
0 0
- sql性能优化(利用merge)
- 利用merge优化
- 利用merge优化
- 利用 force index优化sql语句性能
- 利用 force index优化sql语句性能
- 利用 force index优化sql语句性能
- MySQL数据库性能优化-利用sql执行计划预先查看执行性能(五)
- sql性能优化(载)
- SQL性能优化(一)
- Oracle性能优化(SQL)
- Sql性能优化(一)
- SQL性能优化(转)
- 用merge into进行性能优化
- 【MySQL】性能优化之 index merge (1)
- Android性能优化——<merge>标签
- mysql性能优化(利用索引优化查询速度)
- 利用分区优化SQL
- 利用OWI优化SQL
- java基础---(2)Java中token的使用详解
- 购物车
- listView自动加载
- 2017.12.20 MyBatis
- 设计模式——策略模式
- sql性能优化(利用merge)
- OC 中New和alloc/init的区别
- java 利用BufferedWriter 读写文件需要flush 缓存
- cookie 和session 的区别详解
- 信息系统安全等级保护申请流程
- spriing boot 启动报错:Cannot determine embedded database driver class for database type NONE
- 谁动了我的特征?——sklearn特征转换行为全记录
- 随机生成N位字段串
- 省略显示标题