Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在以下场景中,我将如何提高性能_Mysql_Performance - Fatal编程技术网

Mysql 在以下场景中,我将如何提高性能

Mysql 在以下场景中,我将如何提高性能,mysql,performance,Mysql,Performance,我有一个表,有一定数量的列,我应用了一定的算法,能够将现有的表划分为5个表。下面是应用算法后的数据库图像。 因此,我将stsi表分为基本表、卡片类型表、国家表、cvv表。STSI具有以下属性。。id、姓名、电话、电子邮件、分行、国家、账号、信用卡、卡类型、cvv。因此,在应用该算法后,基表包含id、姓名、电子邮件、分支机构、账号、信用卡、电话。剩下的属性是card_type、country和cvv。每个属性都有一个单独的表。让我们说的故事cvv。属性将是id和cvv。id将是基表的主键。因此,根

我有一个表,有一定数量的列,我应用了一定的算法,能够将现有的表划分为5个表。下面是应用算法后的数据库图像。 因此,我将stsi表分为基本表、卡片类型表、国家表、cvv表。STSI具有以下属性。。id、姓名、电话、电子邮件、分行、国家、账号、信用卡、卡类型、cvv。因此,在应用该算法后,基表包含id、姓名、电子邮件、分支机构、账号、信用卡、电话。剩下的属性是card_type、country和cvv。每个属性都有一个单独的表。让我们说的故事cvv。属性将是id和cvv。id将是基表的主键。因此,根据图片,我能够减少新表中的行数,因为cvv有7829行,而不是STSI中的9000行,因为STSI中有空。性能在空间方面有所提高。但我无法增加时间复杂性

我希望较新的表应该具有较小的时间复杂度,因为它们的行数相对较少。但我无法获得任何性能提升。我尝试了索引,但没有带来任何性能提升。在新表上执行时,我可以做些什么来提高性能

ps:查询是 从stsi中选择id、cvv-0.0005秒 从cvv-0.0005秒中选择id、cvv
我希望第二次查询所需的时间更少

在0.5ms时,限制器可能是实际系统响应时间磁盘读取、CPU处理等,而不是查询本身。再多的优化也不会减少响应时间

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

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

基于你的大胆,我假设你的问题源于这样一个事实,即STSI的行数比CCV多,并且你预期CCV会更快。事实上,您可能看到的第一个约束是系统配置,而不是数据库设计


半毫秒快得要命。我不知道,即使将9000行表与9行表进行比较,您也不应该期望在消费级硬件上看到更快的结果。

请发布性能较低的查询。这些查询在STSI和较新的表中显示出相同的性能。假设从STSI中选择cvv,从cvv中选择cvv给出相同的时间。5毫秒不是性能问题,您的优化是完全过度的。我知道5毫秒不是问题,但理论上,性能应该得到改善,对吗@Alex当数据返回到PHP需要400纳秒时,您不会看到10纳秒和15纳秒之间的差异sql执行时间。是的,我同意您的大多数观点。是的,我的是笔记本电脑,它又是消费者级的。根据有关的计时,0.5毫秒是快的。所以我想稍微改变一下,有什么方法可以缩短STSI的响应时间吗?我知道这有点超出了重点。但我想知道是否有办法存在@TDAVISY您可以尝试仅在ID和CCV上为STSI添加索引,但我怀疑您是否会看到任何差异。我尝试过,但没有您提到的差异。但在什么时候我才能看到一个可悲的不同。就像一百万个数据集一样,亚马逊实例,还有什么吗?一旦你的数据集增长到可以完全保存在缓存中的程度。这将取决于系统。一般来说,需要超过10万行数据才能开始看到显著的性能差异0.5毫秒可能意味着结果来自查询缓存。所以时间是假的。