gpt4 book ai didi

mysql - 如何提高mysql中的select性能?

转载 作者:行者123 更新时间:2023-11-29 04:01:20 25 4
gpt4 key购买 nike

我有来自数据库(mysql)表的 1034961 行数据。

结构..

表:tb_blog_image

    |   id(pk)   |   link(TEXT)   |   img_link(TEXT)   |
| 1 |blogpost.com/aaa|http://sky.png |
| 2 |blogpost.com/aaa|http://girl.png |
| 3 |blogpost.com/aaa|http://cad.png |

现在,我想从 tb_blog_images 中选择特定的 img_link 列表。

SQL..

    select link, img_link
from tb_blog_image
where link = 'blogpost.com/aaa';

结果 38 行 6.37 秒

如何提高选择性能?使链接列索引?表格归一化?

我想在 1 秒内运行。

我想听听各种提示。

最佳答案

理想情况下,您会在程序中使用主键 (id)。

但如果做不到这一点,链接列上的索引将解决您的问题。现在,您正在运行的查询要求从磁盘加载表中的所有一百万行,然后与您的查询字符串值进行比较。使用索引,这可以减少到不超过三到四次磁盘读取。

此外,文本数据类型与表的其余部分分开存储,效率不高。我会将这两个文本列重新定义为类似 varchar(300) 的内容,这对于可能遇到的任何 URL 来说肯定足够长,但也提供了更有效的存储:TEXT 类型实际上适用于(可能)长字段例如备忘录或网页内容。

关于mysql - 如何提高mysql中的select性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17513090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com