gpt4 book ai didi

mysql - 在以下情况下我将如何提高性能

转载 作者:可可西里 更新时间:2023-11-01 06:37:32 25 4
gpt4 key购买 nike

我有一个表,有一定数量的列,我应用了某种算法,能够将现有的表分成 5 个表。这是应用算法后数据库的图像。 enter image description here 所以我把stsi表分为base, card_type, country, cvv, . STSI 具有以下属性 .. id、姓名、电话、电子邮件、分支机构、国家/地区、ac_no、credit_card、card_type、cvv。所以应用算法后,基表有id、name、email、branch、ac_no、credit_card、phone。其余属性为 card_type、country 和 cvv。这些属性各有一个单独的表。让我们说故事cvv。属性将是 id 和 cvv。该 ID 将是基表的 primary_key。因此,根据图像,由于 STSI 中的空值,我能够减少形成的较新表中的行数因为 cvv 有 7829 行而不是 STSI 中的 9000 行。性能在空间方面有所提高。但是我无法增加时间复杂度。

I intended that newer tables should have lesser time complexity, as they have relatively lesser number of rows. But I am not able to get any performance increase. I have tried indexing, but it did not result in any performance gain. what can I possibly do for increase in performance with respect to time, when executed on new tables.

ps:查询是
从 stsi 中选择 id,cvv - 0.0005 秒
从 cvv 中选择 id、cvv - 0.0005 秒

我希望第二个查询应该花费更少的时间!

最佳答案

在 0.5 毫秒,限制器可能是实际系统响应时间(磁盘读取、CPU 处理等)而不是查询本身。再多的优化也无法缩短响应时间。

作为一般规则,当您查看简单的选择查询(从表中选择 val1、val2)时,性能的最大驱动因素将是底层系统配置(主要是磁盘配置和内存可用性)和数据库设计。

使用良好的索引可以减少为生成结果而必须读取的数据量,从而有助于缩短查询响应时间。在上面的示例中,在由 ID 和 CCV 组成的 CCV 表上放置一个索引可能会随着数据集的增长产生更快的响应。

我假设,根据您的加粗,您的问题源于 STSI 的行数比 CCV 多,并且您希望 CCV 更快。事实上,您可能在这里看到的是第一个约束(系统配置),而不是数据库设计。

半毫秒太快了。我不知道您是否应该期望在消费级硬件上看到更快的速度,即使您正在比较 9000 行表和 9 行表。

关于mysql - 在以下情况下我将如何提高性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29652099/

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