这个MySQL表结构能否帮助我提高性能和可扩展性?

时间:2017-01-19 22:03:35

标签: php mysql

我有一个名为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_pagesbehaviour上有2列的明显结果,从page_title中移除behaviourpage_title并通过在两个表之间设置join来检索app

这对性能和未来的可扩展性有帮助吗?

2 个答案:

答案 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       ...                 ...        ...
相关问题