日本华人论坛 召唤华人IT大神:困扰了我半年的数据库查询性能问题。



日本 -
好几年前开始运营的我的网站,最近一年左右,有个查询会时不时的变的很慢,5秒以上。
但查询几次后就变0.1秒以内了,估计是一开始整张表没载入内存所以慢吧。

网站用的是PHP虚拟主机,也就1万5千多日元1年,升级主机不知道会不会问题就解决了。
DB是MariaDB(MySql)。
最近月PV是100-200万左右。

相关表:
会员表 5,007,769条数据 6.1GB
语言1表 9,988,262条数据 1.3GB
语言2表 14,941,340条数据 754MB
语言1和2的合体表 29,801,365条数据 1.9GB

比如说某会员的语言1有两种(英语,日语),语言2有三种(汉语,韩语,俄语),
此会员的语言1表就会有2条数据
1 英语
2 日语

语言2表会有3条数据
1 汉语
2 韩语
3 俄语

语言1和2的合体表会有6条(2x3)数据
1 英语 汉语
2 英语 韩语
3 英语 俄语
4 日语 汉语
5 日语 韩语
6 日语 俄语


用户可以在画面上选择语言1和语言2进行会员查询。
只选择语言1的话,只要关联会员表和语言1表。
只选择语言2的话,只要关联会员表和语言2表。

同时选择语言1和语言2的话,一开始设计的时候,要关联会员表,语言1表和语言2表三张表。
但是当时考虑到同时关联两张语言表以后速度会变慢,所以造了语言1和2的合体表。
现在只要关联会员表和合体表就行了。


上面的查询,一开始速度贼快,但一年多以前出现在5秒以上的情况。



有什么好的方法让这些表没载入内存时也能在1秒内得到查询结果吗?

本人才疏学浅,实在想不出好的方法。

有大神出来展示一下神的力量吗?

评论
玛丽亚。  一堆bug

评论
查询速度慢有太多的原因,
第一传给服务器的数据结构有问题,可以改善。拆开,再重新组装等。
第二SQL文写的有问题,可以改善,加上索引,partition等等
第三表定义本身的改善
第四配置服务器上的 apache的配置文件等也可以直接影响性能,可以改善。
第五如果没有Elastic Load Balancing 加上Elastic Load Balancing 一定能改善
第六不知道你用的是独立的服务器还是云服务,如果是云服务 解决这个问题就很简单了


评论
说了这么一大堆臭氧

你倒是把网址写出来啊

你倒是把慢的 sql 写出来啊

评论
分页处理做了么? between and
多用户,同时对500万条以上数据进行查询,肯定慢成狗了……

深夜,选择用户少的时间测试一下速度
     如果还是慢,需要优化查询sql
     如果很快,更换aws,然后找出用户量大的时间增加服务器数量即可

评论
一个表就可以干完的活

扯成了三个表。。。。。。



评论

简单到不能再简单的查询了。

评论

有可能!!我怎么没想到。也许真是玛利亚的问题。

评论

有什么好的分表的方法吗?
有200多种语言,难道分成200多张表?
虽然分成200多张表确实应该能解决速度问题。

评论

这尼玛 where 让你写的,这叫分页?

小于 now 的都被你查出来了……
日本 Japan
 ·日本中文新闻 日本人英语能力连年下滑,水平低于韩国中国
·日本中文新闻 日本决定核废水2023春夏排入海
·日本中文新闻 日本百元店,吊打MUJI优衣库
·日本签证办理 办理在留或者资格更新可以网上申请,在留卡直接寄到家
·日本签证办理 11/29递交的,1/12收到通知啦~开心
·日本留学生活 关内便利店招人
·日本华人网络交流 跟大家说个事。我儿子昨天掉冰洞里了。事故性冬泳。。。。
·日本华人网络交流 院子 or 房顶 如果是自己的,是否可以擅自加一个屋子呢?
·日本华人网络交流 天然气费今天来了。这个月21000
 ·澳洲新闻 注意!维州2月1日起全面实施塑料袋禁令,违者罚款5.4万澳元(
·澳洲新闻 澳洲东海岸连日来雷阵雨,气象局发布恶劣天气预警(图)

日本华人网络交流

强烈谴责俄罗斯

华人网强烈谴责俄罗斯在微博上发布未经打码的照片 1unnamed.jpg (127 KB, 下载次数: 0) 下载附件保存到相册 昨天22:55 上传 评论 已经有微博网友指出俄国的错误做法了 2unnamed.jpg (52.69 KB, 下载次数 ...

日本华人网络交流

俄罗斯 vs 美帝 谁更邪恶?

华人网别打架,一条,一条的列举。各抒己见! 支持图文并茂! 评论 对了,千万别把古代的事拿出开,为了防止脑残,规定一下:近100年 评论 众所周知,在1955年11月,越南战争爆发,美国横 ...

日本华人网络交流

ロシアの核魚雷が?

华人网哑巴哟 评论 500米的海啸! 尼玛 评论 东海龙王出海的时候有没有这么大阵仗? 评论 挨过2发的日本就不能少说两句吗? 评论 那中国不也就完了么 评论 可一个国家扔核弹? ...

日本华人网络交流

空城计中司马懿知道城里没人

华人网空城计中司马懿知道城里没人,其实该叫空城计,应该叫,诸葛音律谈判司马,诸葛亮用琴的音律告诉司马懿,如果我死,你回去以后也会被处死,因为我的存在,你才有价值,所以司 ...

日本华人网络交流

克里米亚大桥被炸

华人网乌克兰这完全是铁道游击队的战术,刻赤海峡克里米亚大桥被炸后运输补给线切段,克里米亚就是一座死城,黑海舰队也没法得到补给,乌东四州一个月内很有可能收复 评论 要升级? ...