海量数据网站的数据库SQL方面的优化

本文通过一个实际案例介绍如何针对大量数据的网站进行数据库优化,包括调整数据存储方式、创建索引及优化SQL查询等方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有关网站的数据库方面的优化

    今天要说的网站的优化是指数据库方面的, 网站运行的快慢, 数据库是一个比较重

要的方面, 特别是对于大数据量的网站来说。

    今年年初准备做一个有关博客收集的网站,于是在耐思尼克www.nicenic.com)买

了一个空间,因为是双线的空间,一开始的时候速度是相当的快,但在运行两个月之后

,逐渐感到速度降下来了,难道空间不稳定了?于是我找耐思尼克的客服提出了我的问

题,后来在耐思尼克的技术部的检查下,通知我说是因为我的数据库的数据量太大了,

查询的sql语句也不够优化,原来查询只需要几毫秒的,因为数据变多而变成了几秒了,

所以才会导致网站的速度下降。
    耐思尼克给我的答复主要有以下几个方面:
    1、文章的主体内容不应该放在数据库表中
    2、应该在适当的表的字段给予建索引
    3、优化查询的SQL语句
    4、去掉不必要的SQL查询

于是我去网上狂搜索有关数据库优化的文章。
因为我网站就是每天去抓取各大博客网站的一些文章,所以日积月累也有上10万篇的文

章了。
我把article表里装载的文章内容提取出来,放在空间文件夹中,作为一篇文章一个文件

这样,在需要读取文章的时候才去读文件。当然这里就要牺牲了搜索全文的功能了。接

着我在程序里把每一个sql的执行都记录下来,发现执行最多的是类似这样的一条语句

select * from article  where tag like '%体育%',这个消耗时间相当高,于是把tag

提取出来做一个单独的tags表,于是查询变成 select a.* from article a,tags t

where a.IDAritle=t.fIDAritle and t.name='体育'。(关于tag就不详细说了,本来有

关这个tag就已经可以说一篇文章了)
接着我在article表的字段athor,fromurl等上建立索引。

原来查询要消耗几秒钟的SQL语句,一下子就减少到了0.001秒以下了。这里要谢谢耐思

尼克客服对于我的问题的提出的解决方案,也让我认识到原来做海量数据的网站,数据

库原来是这么重要的,希望各位网友也能从中了解到一点。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值