2010-03-10 59 views
1

我们有一个表,18GB的MySQL的其中有一栏“html_view”存储HTML源数据,这是我们都显示在页面上,但现在它占用太多的时间,从“html_view”一栏,其中制作获取的HTML数据页面加载缓慢。从数据库读取HTML数据很慢?需要更好的方法?

我们希望有一个方法可以简化我们现有的结构,从数据库或任何其他方式更快地加载HTML数据。我们正计划

一个想法是HTML数据存储在.txt文件和数据库,我们将只存储txt文件的路径,并通过读取文件读取从特定文件中的数据。但是我们担心它会在我们的服务器上进行广泛的读写操作,并可能会降低服务器的速度。

有没有更好的方法,让这种情况更快?

+0

您正在使用哪个应用程序/ Web服务器? 我想你应该研究这些组件的缓存功能,以便从内存中获取数据的可能性更大。 – weismat 2010-03-10 09:48:36

+0

我们使用“Apache/PHP/MYSQL”作为网络平台吗?有什么我们可以做的,请分享任何例子或文章。谢谢 – Prashant 2010-03-10 09:57:20

回答

2

首先,为什么要在数据库中存储HTML?为什么不按需提供?

对于大的文本表格,你可以压缩文本存储在一个字节数组,或压缩并以base64为纯文本编码。

当你有一个大文本列的数组时,表中还有多少列?如果数量不是很多,可以对表格进行分区并创建一个双列键值存储。这应该比从磁盘读取文件更快更简单。

+0

我们以前的结构是基于将数据库存储在数据库中,所以不可能很早就改变它,所以我们打算做一些少的改变,现在可以改善性能。在“以字节数组形式存储压缩文本”或“以纯文本格式压缩并以base64编码”的情况下,哪个更快,如何实现,请分享任何PHP示例? – Prashant 2010-03-10 09:56:04

+1

我不知道PHP,但这可能有所帮助:http://php.net/manual/en/ref.zip.php。字节数组将比base64更简单,更小,更快。 – 2010-03-10 09:58:32

1

看看Apache Caching guide
它解释了磁盘和内存缓存 - 如果内容是静态的(如数据库表所示),那么应该使用Apaches功能,而不是编写自己的较慢机制,因为在顶部添加了多个图层。
通常的措施,而不是估计仍然适用,虽然;-)。