我有一个名为behaviour
的表,每天有500万行(660 mb)。此表包含一些行为数据,此表中的两列是:
page_title ------- url
page 1 ---- page1.html
page 1 ---- page1.html
page 1 ---- page1.html
page 1 ---- page1.html
page 2 ---- page2.html
page 2 ---- page2.html
page 1 ---- page1.html
page 3 ---- page3.html
page 3 ---- page3.html
page 3 ---- page3.html
我有url
作为索引,因为我执行了很多SELECT查询。
page_title
(和url
)的独特数量为2700。
page_title
是TEXT,有很多字符,是磁盘空间的主要原因。
您是否建议我制作另一个表格,让我们说all_pages
将behaviour
上有2列的明显结果,从page_title
中移除behaviour
列page_title
并通过在两个表之间设置join
来检索app
?
这对性能和未来的可扩展性有帮助吗?
答案 0 :(得分:0)
你真正需要做的就是链接2个表将是一个相关的记录字段,它将记录链接到记录所有者(来自另一个表的相关记录),但如果你只是谈论一个有几列的表,我就不要我知道这对任何事都有帮助。你最终想要实现的目标是什么?
答案 1 :(得分:0)
这个设计怎么样:
pages.id page_title url
-------- ---------- ----------
1 page 1 ... page1.html
2 page 2 ... page2.html
3 page 3 ... page3.html
stats.id page_id created ip ...
-------- ------- ------------------- ---------- ---
1 1 2017-01-01 00:00:00 1234567890 ...
2 1 ... ... ...