
耗时的数据库查询应该是没有优化的可能。而且可能会执行很多这种查询,甚至可能需要排队执行这种查询。直接买两台服务器是否最彻底?有现成的解决方案吗?
数据库查询影响网页加载速度我听说有这么回事,如果不会的话欢迎指出来。
1 CEBBCAT 2023-01-11 20:30:55 +08:00 建议学习《提问的智慧》。功能是什么样子需要介绍一下。买两台服务器和问题解决之间是什么关系?网友该怎么判……算了,你自己想想吧 一般场景推荐即时返回页面,如果后台程序没完成就提示用户稍后刷新。这个页面只做结果查询作用。 |
2 Red998 2023-01-11 21:12:56 +08:00 不要求实时数据、可以考虑使用缓存+异步处理查询之类的。但这个也只是治标不治本。根本问题还是查询耗时需要优化。 |
3 n0099 2023-01-11 21:26:42 +08:00 建议先`EXPLAIN SELECT ...`https://dev.mysql.com/doc/refman/8.0/en/using-explain.html |
4 IvanLi127 2023-01-12 01:00:05 +08:00 via Android 直接禁止非可控的方式调用耗时查询就能彻底解决这个问题。加预载,缓存什么的都可以。搞出来了就下一阶段能靠加机子解决了。 |
5 jones2000 2023-01-12 01:30:32 +08:00 升级数据库机器的配置, 内存,CPU ,硬盘等等升级,可以提高速度的。 |
6 em70 2023-01-12 02:02:35 +08:00 先分析一下瓶颈在哪里,硬盘 IO 高,还是 CPU 高,还是内存不够,如果硬件没问题,那就是表设计和 SQL 语句问题,是否创建了合适的索引,是否锁表 |
7 Jooooooooo 2023-01-12 02:09:03 +08:00 先问: 网页的加载为什么要依赖数据库呢? |
8 loading 2023-01-12 07:35:40 +08:00 via Android 用 ajax 方式,不要整个页面一下查完才返回 html |
9 buyan3303 2023-01-12 08:15:56 +08:00 @Jooooooooo #7 可能是 SELECT * FORM 然后前端一股脑的存了大量数据,显示的时候,显示部分内容 2333 |
10 unt 2023-01-12 08:49:04 +08:00 嗯,没问清楚诶,有点奇怪。 你是想问数据库还是想问前端。问数据的库 |
11 unt 2023-01-12 08:58:53 +08:00 问数据库的话,只要问查询耗时长怎么解决就可以了, 小数据量的话优化代码;大数据量的话优化逻辑+加强硬件+优化代码; 问前端的话,大部分耗时长是后端的问题,和你没关系,本就是异步的,你无非就是加 loading 优化,骨架屏等优化用户体验,其他的基本上可以归结为软件设计有问题。 |
12 bjzhush 2023-01-12 09:27:31 +08:00 有个东西叫索引,还有个东西叫 redis |
13 Huelse 2023-01-12 09:48:28 +08:00 不知道你说的是网页需要异步加载问题还是单纯的 sql 查询慢问题? |
14 xuanbg 2023-01-12 09:53:29 +08:00 虽然不理解查询慢为什么不能优化,但异步执行这种基操我想是可以在一定程度帮到 OP 的。 |
15 woshinide300yuan 2023-01-12 12:05:16 +08:00 应该是类似 wordpress 的那种网站,伪静态型的,全部都走数据库查询。所以当文章数多了 /机器性能又垃圾时,一个搜索查询就直接让数据库满载了,导致其他用户的访问,比如打开文章都是卡顿状态。 这种事花钱也解决不了太多问题,查询的方式太拉胯了,只能找人优化,分表。 |
16 darkengine 2023-01-12 12:10:08 +08:00 没做前后端分离,或者是后端渲染的网页吧 |
17 zoharSoul 2023-01-12 13:37:40 +08:00 为什么数据库慢会影响网页加载速度呢.... |
18 hhjswf 2023-01-12 14:03:21 +08:00 via Android “数据库影响页面加载速度” 这是认知是没拉平,用户问页面怎么一直在转圈圈加载这么慢,前端说数据返回慢找后端,后端说数据库查询慢,哦,那就是数据库影响了页面加载速度。 |
19 corcre 2023-01-12 14:08:27 +08:00 还有一种特殊情况, 使用了传说中的 table 布局, 那也确实符合 OP 说的情况... |
21 n0099 2023-01-15 22:08:20 +08:00 |