MySQL优化常用办法
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优化常用办法的细致内容,更多请关注 百分百源码网 其它相干文章!