2014-09-01 53 views
-1

这种类型的问题已被问过,但不是我的情况。 我想知道什么适当的排序技术将是我的情况。正确的mysql排序做法

可以说我们有10个用户在mysql数据库中存储每周每天的数据。

我们有一个自动增量的索引字段,但我们也存储用户名。

是它更好地通过用户名mysql数据库,然后日期每个条目后,当我们做一个DB搜索只输出数组是

OR

是它更好地做一个数据库进行排序,然后搜索,排序数组,然后输出它?

+0

如果要按特定顺序显示结果,请在查询中始终使用'order by'。 – 2014-09-01 01:06:13

回答

0

如果您希望在搜索上一组给定的字段很多,换句话说,如果你结了许多命令,例如(或者一个命令重复了很多次):

SELECT <some fields> FROM <table> WHERE a = <some value> AND b = <some value> 

然后,用a和b添加索引是个好主意。语法取决于你使用的数据库系统,但通常是这样的:

CREATE INDEX <some name> ON <table> (a, b); 

的顺序和b不应该多大关系的指标。虽然从你所说的话来看,每个用户都会有一个日期列表,而不是其他方式,所以可能首先是用户。

然后处理一个WHERE包括“一”和“b”时,SQL系统会自动拾起索引。

注意的是,在最先进的SQL引擎(我知道的PostgreSQL这样做,MySQL的最肯定来不及)等指标可以自动由SQL管理器生成。经理收集可用于自动生成索引的统计信息。但是,这些不如您明确创建的那些可靠。