关闭

MYSQL优化原则

155人阅读 评论(0) 收藏 举报
分类:

update ... select ... from ... where ... 你的瓶颈是在查询子句,并不是update的问题,优化完查询执行自然会上去。 -------------------------- 优化SQL查询的原则如下:

 1、使用索引来更快地遍历表。 缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。

在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在 对各种查询的分析和预测上。

一般来说: 

a.有大量重复值、且经常有范围查询( > ,< ,> =,< =)和order by、group by发生的列,可考 虑建立群集索引; 

b.经常同时存取多列,且每列都含有重复值可考虑建立组合索引; 

c.组合索引要尽量使关键查询形成索引覆盖,其前导列一定是使用最频繁的列。

索引虽有助于提高性能但不是索引越多越好,恰好相反过多的索引会导致系统低效。用户在表中每加进一个索引,维护索引集合就要做相应的更新工作。


 2、在海量查询时尽量少用格式转换。 

3、ORDER BY和GROPU BY使用ORDER BY和GROUP BY短语,任何一种索引都有助于SELECT的性能提高。 

5、任何对列的操作都将导致表扫描,它包括数据库函数、计算表达式等等,查询时要尽可能将操作移至等号右边。 

6、IN、OR子句常会使用工作表,使索引失效。如果不产生大量重复值,可以考虑把子句拆开。拆开的子句中应该包含索引。


0
0
查看评论

MySQL优化原则

数据库已成为互联网应用必不可少的底层依赖,其中MySQL作为开源数据库得到了更加广泛的应用。最近一直专注于项目工程的开发,对开发过程中使用到的一些关于数据库的优化原则进行了总结,希望能够帮助更多的应用开发人员更好的使用MySQL数据库。     ...
  • xtjsxtj
  • xtjsxtj
  • 2014-05-20 10:27
  • 1124

mysql数据库优化原则

一、一个例子 数据库需要处理的行数: 189444*1877*13482~~~479亿 如果在关联字段上加上合适的索引: 数据库需要处理的行数:368006*1*3*1~~~110万 MySQL通常是一个请求对应一个线程,其thread_handling是one-thread-p...
  • wer724853863
  • wer724853863
  • 2016-09-08 10:43
  • 1440

SQL优化的思路及基本原则(mysql)

SQL优化的思路:  1.优化更需要优化的sql;  2.定位优化对象的性能瓶颈:优化前需了解查询的瓶颈是IO还是CPU,可通过PROFILING很容易定位查询的瓶颈。  3.明确优化目标;  4.从Explain入手; ...
  • sundenskyqq
  • sundenskyqq
  • 2015-09-28 20:25
  • 2420

mysql索引最左匹配原则的理解

这是你的表结构,有三个字段,分别是id,name,cid CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `cid` int(11) DEFAULT N...
  • qq_24690761
  • qq_24690761
  • 2016-10-11 14:33
  • 3084

MySql最左前缀原则

昨天做一个企业的笔试题,对数据库这块了解很浅,所以还是记录一下吧。B-Tree 索引和 Hash 索引的对比 对于 B-tree 和 hash 数据结构的理解能够有助于预测不同存储引擎下使用不同索引的查询性能的差异,尤其是那些允许你选择 B-tree 或者 hash 索引的内存存储引擎。B-Tre...
  • SkySuperWL
  • SkySuperWL
  • 2016-09-19 10:35
  • 6977

MySQL优化的十个原则

SQL语句优化的十个原则(纯粹是每次自己都记不住,写下了多看看) 1、尽量避免在列上进行运算,这样会导致索引失效 2、使用JOIN时,应该使用小结果集驱动大结果集,同时把负责的JOIN查询拆分为多个Query,因为JOIN多个表时,可能导致更多的锁定和堵塞 SELECT * FROM a JOIN ...
  • qq_28982157
  • qq_28982157
  • 2017-09-22 17:33
  • 43

mysql优化-建表原则

- 基本 1、定长与变长分离 例如:varchar字段的表尽量单独一张表 2、常用字段与不常用字段分离 3、添加冗余字段 结合业务需求,添加冗余字段 如:论坛今日发帖数(关联多,查询复杂) - 列类型的选择 1、字段类型优先级 整型>date time>enum(内部...
  • zhenglouji9184
  • zhenglouji9184
  • 2017-10-25 10:56
  • 48

韩顺平老师 Mysql优化 笔记

u      mysql的优化 1.      数据库(表)设计合理 我们的表设计要符合3NF   3范式(规范的模式) , 有时我们需要适当的逆范式 2...
  • abc456456456456
  • abc456456456456
  • 2014-04-12 17:41
  • 709

Mysql优化的基本思路和原则

在分析如何优化MySQL Query 之前,我们需要先了解一下Query 语句优化的基本思路和原则。一 般来说,Query 语句的优化思路和原则主要提现在以下几个方面:      1. 优化更需要优化的Query;    ...
  • adparking
  • adparking
  • 2012-03-19 16:09
  • 743

MySQL性能优化——易实现的MySQL优化方案汇总

1、索引优化及索引失效情况汇总2、表结构优化小技巧3、临时表的优化4、其它优化技巧
  • zhangliangzi
  • zhangliangzi
  • 2016-08-26 16:44
  • 4539
    个人资料
    • 访问:737018次
    • 积分:11565
    • 等级:
    • 排名:第1581名
    • 原创:388篇
    • 转载:610篇
    • 译文:1篇
    • 评论:35条
    最新评论