跳转到内容

结构化查询语言/性能

100% developed
来自维基教科书,开放世界中的开放书籍

← 数据控制语言 | 词汇表 →

结果集列

[编辑 | 编辑源代码]

由于性能问题,不建议在 SELECT 语句中使用 *。你应该只返回要使用的列。因此,你应该用单个列上的计数替换任何 count(*)

避免使用值表达式

[编辑 | 编辑源代码]

只要有可能,避免在 WHERE 子句中使用像这样的值表达式

SELECT id_reunion
FROM reunion
WHERE duration - 60 <= 0;

它迫使 RDBMS 为每行计算值,这非常昂贵。你应该用文字 (在本例中为 0 + 60) 自己计算值。

SELECT id_reunion
FROM reunion
WHERE duration <= 60;

如果你经常根据给定列排序或过滤选择记录,你可以在此列上添加索引。数据库行为不应改变。索引可能会使查询更快。但是,不要添加无用的索引,因为这会使插入速度稍微变慢。

索引的 CREATE 语句的完整语法如下

CREATE[ UNIQUE] INDEX <index name> ON <table name> (<column name>[, <column name>]*);

关键字 UNIQUE 表示列中所有值的组合必须是唯一的。


华夏公益教科书