【发布时间】:2011-02-28 00:31:10
【问题描述】:
我对数据库优化、索引有疑问。我有一个名为“项目”的表,我将执行如下查询:
排序查询
SELECT * FROM projects WHERE active = 1 ORDER BY created
SELECT * FROM projects WHERE active = 1 ORDER BY project_deadtime
SELECT * FROM projects WHERE active = 1 ORDER BY project_allowedtime
我的餐桌结构是这样的
id int(11) NO PRI NULL auto_increment
雇主 ID int(11) NO MUL NULL
project_title varchar(100) NO MUL NULL
project_description 文本 NO NULL
project_budget int(11) NO NULL
project_allowedtime int(11) NO NULL
project_deadtime 日期 NO NULL
创建日期时间 NO MUL NULL
active tinyint(1) NO MUL NULL
我应该创建哪些列以及如何创建索引(单列索引还是多列索引?)。例如,我应该使用 active-created & active-project_deadtime & active-project_allowedtime 多个索引还是单个活动索引就足够了?谢谢
编辑:项目表最多有 1000-2000 行。 SELECT 查询性能很重要,大约 %90 的项目处于活动状态。
【问题讨论】:
-
您的表最多大约有多少行?任何时候最多有多少活跃项目?
-
projects 表最多有 1000-2000 行。 SELECT 查询性能很重要,大约 %90 的项目处于活动状态。