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存储引擎 ...
随机推荐
- sparkContext之一:sparkContext的初始化分析
Spark源码学习:sparkContext的初始化分析 spark可以运行在本地模式local下,可以运行在yarn和standalone模式下,但是本地程序是通过什么渠道和这些集群交互的呢?那就是 ...
- docker学习 (三) Windows 10 安装Docker
Docker CE: 社区版,免费. Docker EE: 企业版,收费. 安装: Windows 10 Pro 64, 必须开启Hyper-v 下载:Docker for W ...
- 华为codecraft2018总结
华为codecraft2018总结 想来也是参加了第二次了,自己还是那么的菜.总结下今年的比赛,得奖是不存在的了,但是收获还是有的. 代码相关的都在这里了:https://github.com/hui ...
- OpenWrt路由器通过iPhone有线共享网络上网
2018年4月更新: 我自己的手机在openwrt上网速很慢,在电脑上又很快.应该不是被限速了,但是没找到原因. 三大运营商在学校争客户,手机卡开出了校内无限流量的条件.很开心,之前准备到东北大学的时 ...
- C杂谈
最近在做关于C的项目开发,记录一下有关C的操作,比较杂乱 1.利用System进行文件数量统计: 1) system("dir /b /s /ad d:\\mydir\\*.* | find ...
- crontab计划任务监控nginx服务器
#!/bin/bash ps axu |grep 'nginx' |grep -v 'grep' &>/dev/null ] then echo "准备重启nginx....& ...
- Lightoj 1021【状压DP(未搞)】
状态压缩一下,然后DP还是很容易想到,dp[i][j]表示状态为i时,模 k 为 j 的排列数的个数,然后每次对一个状态扩展,添加新的数字: 然而那个取膜没懂.....
- Lightoj1000【简单A+B】
balababalabalabala! #include<stdio.h> #include<queue> #include<string.h> #include& ...
- 【JSP报错】—— org.apache.jasper.JasperException: Unable to compile class for JSP
org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: [52] ...
- [Xcode 实际操作]八、网络与多线程-(9)使用异步Get方式获取网页源码
目录:[Swift]Xcode实际操作 本文将演示如何通过Get请求方式,异步获取网页源码. 异步请求与同步请求相比,不会阻塞程序的主线程,而会建立一个新的线程. 在项目导航区,打开视图控制器的代码文 ...