在一个PHP的论坛上看到了这样一个贴子,索引将答案贴到这里让大家看看,希望对大家有帮助quote: 有人建议它用ORACLE 我觉得有一点大家要注意,那就是如果你让oracle执行一个 select * from xxxx where xxx = 'xxxxxxxxxxxxxx'; 这个表有1G的时候绝对不会比MYSQL快上多少。 现在的这么多流行的数据库系统上执行相同的操作时不可能快上很多倍的。 关键在于你的数据库设计。 我在做一个商业信息的搜索引擎,在做的过程中得到一些经验。如下: 1。 建立摘要表 2。 对于那些数字形式且经常查询的数据一定要建立索引,我不记得在哪里看到一篇贴子说什么:“不要用那垃圾的索引”.郁闷了N久。这种贴子都有。。哎。 建议: 在where中的用到的尺寸不大的condition一般都要索引。尺寸大的单独表中存储且要用like查询的单独表中存储。 3。 对于有很多结果的时候不要select *... ,先select ID.... 然后取得ID后进行分页控制,取出当前页中的ID到数组。。 再执行select * from xxx where ID in(implode(',', $ID数组); 如果得到的数据还要进行join,请在这条select 语句中来进行。因为这样数据库进行join的选择因子会小很多。 4。对于要全文检索的数据和现在的数据分离出来。以数据库设计中第二范式的形式表示.在单独表中存储和数据主键对应的信息. 5。给表加上一个primary , int(smallint、tinyint 看要多少条数据). 6。在做好系统后用explain select .... 对系统中耗时的语句进行分析。看看MYSQL是如何处理这条语句的。 7。如果有可能,把信息分表存储(也可分布在不同的数据库服务器上) |