本文整理自网络,侵删。
目录
- 方法一
- 方法二
- 方法五
- 方法六
- 附:mysql优化的常用方法
- 总结
方法一
使用连接来代替子查询(Sub-Queries)。可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查询中。
DELETE FROM customerinfo WHERE CustomerID NOT in (SELECT customerid FROM salesinfo)
方法二
事务。不是所有的数据库操作都可以只用一条或少数几条SQL语句就可以完成的。更多的时候是需要用到一系列的语句来完成某种工作。可以保持数据库中数据的完整性和一致性
BEGIN; INSERT INTO salesinfo SET customerid=14; UPDATE inventory SET quantity =11 WHERE item='book'; COMMIT;
方法三
锁定表。由于在事务执行的过程中,数据库将会被锁定,因此其他的用户请求只能暂时等待直到该事务结束。有些情况下我们可以通过锁定表的放大来获得更好的性能。
LOCK TABLE inventory WRITE SELECT quantity FROM inventory WHERE Item='book'; ... UPDATE inventory SET Quantity=11 WHERE Item='book';UNLOCKTABLES
方法四
使用外键。锁定表的方法可以保护数据的完整性,但是却不能保证数据的关联性。
CREATE TABLE customerinfo( customerid int primary key) engine = innodb; CREATE TABLE salesinfo( salesid int not null,customerid int not null, primary key(customerid,salesid),foreign key(customerid) references customerinfo(customerid) on delete cascade)engine = innodb;
方法五
使用索引。
索引是提高数据库性能的常用方法,它可以令数据库服务器以比没有索引快得多的速度检索特定的行,尤其是在查询语句当中包含有MAX(),MIN()和ORDERBY这些命令的时候,性能提高更为明显。
那该对哪些字段建立索引呢?
一般说来,索引应建立在那些将用于JOIN,WHERE判断和ORDERBY排序的字段上。尽量不要对数据库中某个含有大量重复的值的字段建立索引。对于一个ENUM类型的字段来说,出现大量重复值是很有可能的情况
相关阅读 >>
更多相关阅读请进入《sql》频道 >>

数据库系统概念 第6版
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » MySQL数据库优化的六种方式总结
标签:sql
相关推荐
评论
管理员已关闭评论功能...