1表字段类型、长度、默认值这些都要按实际情况去写,不要瞎填;
2能存英文就尽量不存中文,能存数字尽量不存英文;(数据库查询速度数字查询速度最快,英文次之,中文最后)
3索引要优化,按实际要求去创建索引,主键等;
4sql语句要精简,能不用就尽量不用,想要什么字段查什么字段,不要怕多写,尽量少用联表查询,多表查询,尤其在大数据访问的时候;
5合理使用缓存技术,有模板缓存,数据库查询结果缓存。
通过命令行进行更改。
注意:(只影响当前mysql服务进程,mysql重启后,更改失效)
使用root登录mysql数据库,并输入密码
mysql> mysql -u root -p
查看下当前mysql数据的最大连接数:
mysql> show variables like 'max_connections';
设置最大连接数为5000
mysql> SET GLOBAL max_connections = 5000;
查看是否设置成功。
mysql> SHOW VARIABLES LIKE "max_connections";
6
退出mysql
mysql> exit;
说白了就是服务器的承受能力。 第一,确认服务器硬件是否足够支持当前的流量。
普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大,那么必须首先配置一台更高性能的专用服务器才能解决问题,否则怎么优化都不可能彻底解决性能问题。
第二,优化数据库访问。
服务器的负载过大,一个重要的原因是CPU负荷过大,降低服务器CPU的负荷,才能够有效打破瓶颈。而使用静态页面可以使得CPU的负荷最小化。前台实现完全的静态化当然最好,可以完全不用访问数据库,不过对于频繁更新的网站,静态化往往不能满足某些功能。
缓存技术就是另一个解决方案,就是将动态数据存储到缓存文件中,动态网页直接调用这些文件,而不必再访问数据库,WordPress和Z-Blog都大量使用这种缓存技术。我自己也写过一个Z-Blog的计数器插件,也是基于这样的原理。
如果确实无法避免对数据库的访问,那么可以尝试优化数据库的查询SQL避免使用Select from这样的语句,每次查询只返回自己需要的结果,避免短时间内的大量SQL查询。
第三,禁止外部的盗链。
外部网站的或者文件盗链往往会带来大量的负载压力,因此应该严格限制外部对于自身的或者文件盗链,好在目前可以简单地通过refer来控制盗链,Apache自己就可以通过配置来禁止盗链,IIS也有一些第三方的ISAPI可以实现同样的功能。当然,伪造refer也可以通过代码来实现盗链,不过目前蓄意伪造refer盗链的还不多,可以先不去考虑,或者使用非技术手段来解决,比如在上增加水印。
第四,控制大文件的下载。
大文件的下载会占用很大的流量,并且对于非SCSI硬盘来说,大量文件下载会消耗CPU,使得网站响应能力下降。因此,尽量不要提供超过2M的大文件下载,如果需要提供,建议将大文件放在另外一台服务器上。目前有不少免费的Web20网站提供分享和文件分享功能,因此可以尽量将和文件上传到这些分享网站。
以上就是关于sql数据库数据量庞大时怎么处理。全部的内容,包括:sql数据库数据量庞大时怎么处理。、如何在记事本里改mysql的最大访问量、如果服务器传过来的数据量过大,怎么处理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)