百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> MySQL优化常用办法
分享文章到:

MySQL优化常用办法

发布时间:09/01 来源:未知 浏览: 关键词:
1.拔取最适用的字段属性;2.运用连贯(JOIN)来取代子查询(Sub-Queries);3.运用结合(UNION)来取代手动新建的暂时表;4.事务;5.锁定表;6、运用外键;7.运用索引;8.优化的查询语句。

CREATE TABLE customerinfo 
( 
CustomerID INT NOT NULL , 
PRIMARY KEY ( CustomerID ) 
) TYPE = INNODB; 
CREATE TABLE salesinfo 
( 
SalesID INT NOT NULL, 
CustomerID INT NOT NULL, 
PRIMARY KEY(CustomerID, SalesID), 
FOREIGN KEY (CustomerID) REFERENCES customerinfo 
(CustomerID) ON DELETECASCADE 
) TYPE = INNODB;


注意例子中的参数 “ON DELETE CASCADE”。该参数保障当 customerinfo 表中的一条客户记载被删除的时候,salesinfo 表中所有与该客户相干的记载也会被主动删除。要是要在 MySQL 中运用外键,一定要记住在新建表的时候将表的类型定义为事务平安表 InnoDB 类型。该类型不是 MySQL 表的默许类型。定义的办法是在 CREATE TABLE 语句中加上 TYPE=INNODB。

7. 运用索引
查询语句傍边包括有 MAX (), MIN () 和 ORDERBY 这些下令的时候,机能提高更为显明。
索引应创立在那些将用于 JOIN, WHERE 推断和 ORDER BY 排序的字段上。尽量不要对数据库中某个含有批量反复的值的字段创立索引。关于一个 ENUM 类型的字段来说,涌现批量反复值是很有可能的状况,例如 customerinfo 中的 “province”.. 字段,在这样的字段上创立索引将不会有什么帮忙;相反,还有可能落低数据库的机能。

8. 优化的查询语句
SELECT FROM order WHERE YEAR(OrderDate)<2001;
SELECT FROM order WHERE OrderDate<"2001-01-01";

SELECT FROM inventory WHERE Amount/7<24;
SELECT FROM inventory WHERE Amount<24*7;
以免在查询中让 MySQL 进行主动类型转换,由于转换历程也会使索引变得不起作用。

更多SQL的相干技术文章,请拜访SQL教程栏目进行学习!

以上就是MySQL优化常用办法的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有153人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板