这种类型的问题已被问过,但不是我的情况。 我想知道什么适当的排序技术将是我的情况。正确的mysql排序做法
可以说我们有10个用户在mysql数据库中存储每周每天的数据。
我们有一个自动增量的索引字段,但我们也存储用户名。
是它更好地通过用户名mysql数据库,然后日期每个条目后,当我们做一个DB搜索只输出数组是
OR
是它更好地做一个数据库进行排序,然后搜索,排序数组,然后输出它?
这种类型的问题已被问过,但不是我的情况。 我想知道什么适当的排序技术将是我的情况。正确的mysql排序做法
可以说我们有10个用户在mysql数据库中存储每周每天的数据。
我们有一个自动增量的索引字段,但我们也存储用户名。
是它更好地通过用户名mysql数据库,然后日期每个条目后,当我们做一个DB搜索只输出数组是
OR
是它更好地做一个数据库进行排序,然后搜索,排序数组,然后输出它?
行的顺序不能保证,因此尝试对数据库中的行进行排序是毫无意义的。让你的查询得到排序而不是数据库。
这不是特定于MySQL的。
看到这个答案:
如果您希望在搜索上一组给定的字段很多,换句话说,如果你结了许多命令,例如(或者一个命令重复了很多次):
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管理器生成。经理收集可用于自动生成索引的统计信息。但是,这些不如您明确创建的那些可靠。
如果要按特定顺序显示结果,请在查询中始终使用'order by'。 – 2014-09-01 01:06:13