- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MysQL使用技巧.doc
MysQL使用技巧:
A、给信息添加索引
B、不要给所有的信息都添加索引
C、使用基准测试
D、减少查询量,只获取你需要的信息
@数据分页/数据分块 检索使用limit
@不要使用select *
@如果一个更长的查询更加高效,则需要谨慎使用大量的短查询
E、使用explain描述查询执行计划
F、使用慢速查询日志(总是要开启它!)
G、你已经使用了或者有可能使用group by就不要使用distinct
H、使用恰当的数据分割
以集群为例,需要使用集群之前就要把集群考虑进去
I、insert的性能
批量insert以及replace
使用load data取代insert
J、limit m ,n 并不像看起来那样快
K、如果你有大于2k条记录,千万不用使用ORDER BY RAND()
SELECT *
FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `table`)-(SELECT MIN(id) FROM `table`))+(SELECT MIN(id) FROM `table`)) AS id) AS t2
WHERE t1.id = t2.id
ORDER BY t1.id LIMIT 1;
最后在php中对这两个语句进行分别查询10次,
前者花费时间 0.147433 秒
后者花费时间 0.015130 秒
****** 看来采用JOIN的语法比直接在WHERE中使用函数效率还要高很多。
随着数据量的增加,load data 与insert的执行效率越来越接近,不过还是比insert好
分文件方式可以提高load data的执行效率 对insert没有什么影响
L、
# Use SQL_NO_CACHE when you are SELECTing frequently updated data or large sets of data
# 在查询经常更新的数据或者大量数据集时使用SQL_NO_CACHE
# avoid wildcards at the start of LIKE queries
# 在LIKE查询语句的开始部分避免使用通配符
# avoid correlated subqueries and in select and where clause (try to avoid in)
# 避免使用相关子查询以及select和where分局(试着避免)
# config params -
# 设置参数 -
# no calculated comparisons - isolate indexed columns
# 无计算比较 -隔离索引列
# innodb_flush_commit=0 can help slave lag
# innodb_flush_commit=0 可以避免从属滞后
# ORDER BY and LIMIT work best with equalities and covered indexes
# ORDER BY以及LIMIT在同相等的以及叠加索引时一起使用时效果最佳
# isolate workloads don’t let administrative work interfere with customer performance. (ie backups)
# 隔离工作内容 不要让管理员的工作影响了用户的行为
# use optimistic locking, not pessimistic locking. try to use shared lock, not exclusive lock. share mode vs. FOR UPDATE
# 使用乐观锁,而不是悲观锁. 试着使用共享锁定而不是独占锁.共享模式vsFOR UPDATE
# use row-level instead of table-level locking for OLTP workloads
# 对于联机事务处理(OLTP)工作任务尽量使用行级锁定而不是表级锁定
# Know your storage engines and what performs best for your needs, know that different ones exist.
# 了解存储引擎以及哪种引擎最符合你的需求,了解这些引擎之间的不同.
* use MERGE tables ARCHIVE tables for logs
* 使用MERGE表和ARCHIVE表记录日志
# Optimize for data types, use consistent
您可能关注的文档
最近下载
- GB7231-2016《工业管道的基本识别色、识别符号和安全标识》 GB 7231-2003文档撰写.pptx VIP
- 八年级下册道德与法治教材课后习题参考答案(修改版).pdf VIP
- 化工公司综合应急预案.pdf
- 《中医诊断学》——四诊(课堂PPT).ppt
- 《企业架构分析》课件.ppt VIP
- TIA-604-18-2015 国外国际标准.pdf
- 运动营养学(第三版)课件全套 第1--10章 运动营养学基础、 健身运动的合理膳食营养---运动.pptx
- 钢琴谱 泰坦尼克号主题曲 原版 我心永恒 My heart will go on 五线谱 带指法.pdf VIP
- 英语说课稿(全英版)(精选范文).doc
- Lingumi单词卡level1-3(幼儿英语适合2-6岁幼儿).pdf VIP
文档评论(0)