MySQL性能优化奇技淫巧
1
|
Sql 代码 : select id from t where num is null; |
1
|
Sql 代码 : select id from t where num=0; |
1
|
Sql 代码 : select id from t where num=10 or num=20; |
1
|
Sql 代码 : select id from t where num=10 union all select id from t where num=20; |
1
|
Sql 代码 : select id from t where num in(1,2,3); |
1
|
Sql 代码 : select id from t where num between 1 and 3; |
1
|
Sql 代码 : select id from t where name like '%c%'; |
1
|
Sql 代码 : select id from t where num=@num ; |
1
|
Sql 代码 : select id from t with(index(索引名)) where num=@num ; |
1
|
Sql 代码 : select id from t where num/2=100; |
1
|
Sql 代码 : select id from t where num=100*2; |
1
|
Sql 代码 : select id from t where substring(name,1,3)='abc';#name 以 abc 开头的 id |
1
|
Sql 代码 : select id from t where name like 'abc%'; |
1
|
Sql 代码 : select col1,col2 into #t from t where 1=0; |
1
|
Sql 代码 : create table #t(…); |
1
|
Sql 代码 : select num from a where num in(select num from b); |
1
|
Sql 代码 : select num from a where exists(select 1 from b where num=a.num); |
1
|
分析表的语法:ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tb1_name[, tbl_name]... |
1
|
例如分析一个数据表:analyze table table_name |
1
|
检查表的语法:CHECK TABLE tb1_name[,tbl_name]...[option]...option = {QUICK | FAST | MEDIUM | EXTENDED | CHANGED} |
1
|
优化表的语法:OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tb1_name [,tbl_name]... |
1
|
例如: optimize table table_name |
补充:1、在海量查询时尽量少用格式转换。2、ORDER BY 和 GROPU BY:使用 ORDER BY 和 GROUP BY 短语,任何一种索引都有助于 SELECT 的性能提高。3、任何对列的操作都将导致表扫描,它包括数据库教程函数、计算表达式等等,查询时要尽可能将操作移 至等号右边。4、IN、OR 子句常会使用工作表,使索引失效。如果不产生大量重复值,可以考虑把子句拆开。拆开的子 句中应该包含索引。5、只要能满足你的需求,应尽可能使用更小的数据类型:例如使用 MEDIUMINT 代替 INT6、尽量把所有的列设置为 NOT NULL,如果你要保存 NULL,手动去设置它,而不是把它设为默认值。7、尽量少用 VARCHAR、TEXT、BLOB 类型8、如果你的数据只有你所知的少量的几个。最好使用 ENUM 类型9、正如 graymice 所讲的那样,建立索引。10、合理用运分表与分区表提高数据存放和提取速度。
MySQL性能优化奇技淫巧的更多相关文章
- 涨姿势:Mysql 性能优化完全手册
涨姿势:Mysql 性能优化完全手册 深入理解MySQL服务器架构 客户端层 MySQL逻辑架构整体分为三层,最上层为客户端层,诸如:连接处理.授权认证.安全等功能均在这一层处理. 中间层 MySQL ...
- 一份平民化的MySQL性能优化指南
前言 近期在重新学习总结MySQL数据库性能优化的相关知识,本文是根据自己学习以及日常性能测试调优过程中总结的经验整理了一份平民化的优化指南,希望对大家在进行MySQL调优分析时有帮助! MySQ ...
- Mysql - 性能优化之子查询
记得在做项目的时候, 听到过一句话, 尽量不要使用子查询, 那么这一篇就来看一下, 这句话是否是正确的. 那在这之前, 需要介绍一些概念性东西和mysql对语句的大致处理. 当Mysql Server ...
- Mysql性能优化三(分表、增量备份、还原)
接上篇Mysql性能优化二 对表进行水平划分 如果一个表的记录数太多了,比如上千万条,而且需要经常检索,那么我们就有必要化整为零了.如果我拆成100个表,那么每个表只有10万条记录.当然这需要数据在逻 ...
- [MySQL性能优化系列]提高缓存命中率
1. 背景 通常情况下,能用一条sql语句完成的查询,我们尽量不用多次查询完成.因为,查询次数越多,通信开销越大.但是,分多次查询,有可能提高缓存命中率.到底使用一个复合查询还是多个独立查询,需要根据 ...
- [MySQL性能优化系列]巧用索引
1. 普通青年的索引使用方式 假设我们有一个用户表 tb_user,内容如下: name age sex jack 22 男 rose 21 女 tom 20 男 ... ... ... 执行SQL语 ...
- MySQL性能优化:索引
MySQL性能优化:索引 索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序.数据库使用索引以找到特定值,然后顺指针找到包含该值的行.这样可以使对应于表的SQL语句执 ...
- mysql 性能优化方向
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- MySQL性能优化总结
一.MySQL的主要适用场景 1.Web网站系统 2.日志记录系统 3.数据仓库系统 4.嵌入式系统 二.MySQL架构图: 三.MySQL存储引擎概述 1)MyISAM存储引擎 MyISAM存储引擎 ...
随机推荐
- Ubuntu 安装 texlive
下载网站: http://tug.org/texlive/acquire-netinstall.html 此处解释texlive配置PATH gedit ~/.bashrc 在文件最后添加以下内容, ...
- Mogodb 存储DateTime问题
由于mogodb默认用的是国际日期utc和中国时间有8小时时差. c#当中利用特别属性来解决,如: /// <summary> /// 创建日期 /// < ...
- tetrahedron
题意: 求解一个四面体的内切球. 解法: 首先假设内切球球心为$(x0,x1,x2)$,可以用$r = \frac{3V}{S_1+S_2+S_3+S_4}$得出半径, 这样对于四个平面列出三个方程, ...
- 性能测试之Jmeter学习(三)
一.Jmeter执行顺序规则: 元件执行顺序的规则很简单,在同一作用域名范围内,测试计划中的元件按照如下顺序执行. (1)配置元件(config elements ) (2)前置处理程序(Per-pr ...
- 网页元素定位Position
第九章: 网页元素定位Position position属性 static:默认值,没有定位 relative:相对定位 absolute:绝对定位 fixed:固定定位 (一般不用) stati ...
- java集合框架之HashCode
参考http://how2j.cn/k/collection/collection-hashcode/371.html List查找的低效率 假设在List中存放着无重复名称,没有顺序的2000000 ...
- dom4j的解析实例
book.xml数据如下: <books> <book> <author>Thomas</author> <title>Java从入门到放弃 ...
- ios NSFileManager创建目录、文件
NSFileManager *fileManager = [NSFileManager defaultManager]; NSString *str1 = NSHomeDirectory(); _fi ...
- Lightoj1000【简单A+B】
balababalabalabala! #include<stdio.h> #include<queue> #include<string.h> #include& ...
- 51nod1562(set&模拟)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1562 题意:中文题诶- 思路:直接用set模拟 set< ...