我现在有一张包含超过4300万条记录的表格。要执行SELECT
,我通常会选择具有相同字段的记录,例如A
。将表分成不同A
的几个表并保存在数据库中会更有效吗?我能获得多少收益?
我有一个名为entry: {entryid (PK), B}
的表,包含6千条记录,以及其他几个具有相似结构T1: {id(PK), entryid, C, ...}
的表,包含数百万条记录。以下两个过程是否具有相同的效率?
SELECT id FROM T1, entry WHERE T1.entryid = entry.entryid AND entry.B = XXX
和
SELECT entryid FROM entry WHERE B = XXX
//format a string S as (entryid1, entryid2, ... )
//then run
SELECT id FROM T1 WHERE entryid IN S
答案 0 :(得分:0)
使用EXPLAIN命令检查您的查询。 dev.mysql.com/doc/refman/5.0/en/explain.html
这是一个解释 http://www.slideshare.net/phpcodemonkey/mysql-explain-explained
您需要确保首先为表格提供正确的索引,该表格的大小尤其适用于与其他表格连接的查询。