首页 > TAG信息列表 > database-performance

从查询使用情况和查询类型频率测量MySQL“负载”

我有很多表的mysql数据库.该数据库为网站提供了越来越多的流量. 我已经设计了数据库和查询,以有意避免会造成性能瓶颈的联接,以便在特定表负载过多的情况下,可以根据需要将表拆分到单独的服务器上(以后,我可以将单个表分片如所须). 我的问题是:给定我拥有的表数量,有没有一种简单的

服务器“升级”后,MySQL / PHP站点极其缓慢-PHP版本有问题吗?

我们刚刚通过托管公司从运行3年的双核8GB Plesk计算机(运行PHP 5.1和MySQL 5.1)升级了专用的Web服务器. 新服务器是运行PHP 5.4和MySQL 5.5的6核8GB cPanel / WHM服务器 很抱歉,因为我不是一个聪明的程序员,但是由于我们是一家小公司,所以我是整个IT部门! 我们的电子商务网站(基于电

mysql-视图性能提升是否仍与现代RDBMS相关

毫无疑问,写SELECT * FROM viewCostumerAddress比SELECT c.id,c.name,a.id,a.fullAddress FROM客户c在JOIN地址a.id_costumer = c.id上更简单直观, c.优先,但是当一群人告诉您“视图的性能要好得多”并且您的测试没有显示出您所获得的好处时? 我执行的所有测试都使用相同的SQL Serve

php-Laravel中非常慢的口才插入/更新查询

我有一个laravel应用程序,该应用程序必须在for循环中每秒插入/更新数千条记录.我的问题是我的数据库插入/更新速率是每秒100-150次写入.我增加了专用于数据库的RAM数量,但是没有运气. 有什么办法可以将mysql的写入速率提高到每秒数千条记录吗? please provide me optimum configu

MySQL索引帮助-哪个更快?

我正在处理的是: 我有一个使用ActiveCollab 2的项目,而数据库结构对我来说是新的-几乎所有内容都存储到project_objects表中,并且具有递归层次关系: >记录1234可能是类型为“ Ticket”的parent_id为123 >记录123的类型可能是parent_id为12的“类别”>记录12可能是键入“里程碑”,依此

mysql-使用Laravel处理大型数据库的最佳方法

数据库 我正在使用具有很大表的数据库,这给我带来了问题.特别是其中一个有超过12万条线. 我在做什么 我在MakeAverage.php文件中遍历此表,以将它们合并到数据库中新表中的约1k行中. 什么不起作用 Laravel不允许我立即处理所有内容,即使我尝试使用DB :: disableQueryLog()或(例如)ta

MySQL(COUNT)是否在InnoDB中等待行锁?

MySQL InnoDB表是否还要等待写锁定,甚至还要等待诸如SELECT COUNT(*)FROM t之类的查询? 我的情况: 我有5万行的表,其中包含许多更新(视图在每一行中计数). InnoDB应该在更新的行上放一个写锁.但是当我在该表上仅执行COUNT(*)进行查询时,MySQL甚至可以在不等待写入锁定的情况下回答该

mysql-通过删除SQL数据库中的行提高查询性能?

我有一个带有单个表的数据库,用于跟踪用户状态.处理完该行后,不再需要将其保留在数据库中,可以将其删除. 现在假设我想跟踪该行而不是删除该行(出于历史目的,分析等).这样做会更好吗? >将数据保留在同一表中,并将该行标记为“已使用”(带有额外的列或类似内容) >从表中删除行,并将其

EXISTS vs IN-在MySQL 5.5和MySQL 5.7中哪个更好?

我正在MySQL 5.7和更高版本上测试两种不同的SQL方法(EXISTS与IN).从性能角度来看5.5. 关于测试的一个附带说明,两个数据库都位于同一台计算机上,对于每个测试,我在其中仅激活了其中一个数据库.它们每个都分配有4GB的内存.我在每次测试之前都要重新启动数据库,以确保没有进行缓存(至

MySql嵌套SP可以成为瓶颈吗?

我们有这个MySQL SP,它称为嵌套SP.似乎在负载下表现不佳. 此SP可能在加载时变慢,因为它调用了嵌套SP并使用临时表将数据传递给主SP? DELIMITER $$ drop procedure if exists `GeoAreaFlattened_Select`; create procedure `GeoAreaFlattened_Select`( _areas MEDIUMTEXT,

MySQL解释行限制

下面是我的查询,获得20行genre_id 1. EXPLAIN SELECT * FROM (`content`) WHERE `genre_id` = '1' AND `category` = 1 LIMIT 20 我在genre_id 1的内容表中总共有654行,我在genre_id上​​有索引,在上面的查询中我限制结果只显示20条工作正常的记录,但解释是在行下显示654条记

使用filesort,MYSQL性能变慢

我有一个简单的mysql查询,但是当我有很多记录(目前为103,0000)时,性能非常慢并且它说它正在使用filesort,我不确定这是否是为什么它很慢.有没有人建议加快它?或者使用filesort停止它? MYSQL查询: SELECT adverts .* FROM adverts WHERE ( price >='0' ) AND ( adverts.status = 1

mysql – Rails:如何跨主/从数据库分割写/读查询

我的网站有很大的读取流量.比写入流量重很多. 为了提高我的网站的性能,我想到了主/从数据库配置. octupus gem似乎提供了我想要的东西,但由于我的应用程序非常庞大,我无法通过数百万的源代码行来改变查询分布(将读取查询发送到从属服务器并将查询写入主服务器). MySQL Proxy似乎是

php – 我应该何时在数据库中使用静态数组而不是新表?

我使用2个静态数组(用于角色和资源)实现了访问控制列表,但是我在数据库中添加了一个新表来获取权限. 为角色使用静态数组的想法是我们不会一直创建新角色,因此数据不会一直在变化.我认为资源也是一样的,也因为我认为资源只是开发人员应该对待的东西,因为它们与代码而不是数据更相关

php – 如何在三表系统中插入标签

虽然像Joomla这样的一些主要系统在主文章数据库中将标签存储为逗号分隔的文本,但是作为文章,标签和标签关系的三个表的标准化系统是首选(如Wordpress使用的其他系统).关于结构和阅读的讨论和问题很多;但我无法找到最好的INSERT命令,因为我们需要插入三个表.如何通过一次SQL运行快速

如何在cassandra和mysql之间进行性能测试?

我有兴趣在MySQL和Cassandra中基于相同的数据集并仅使用一个节点进行一些性能查询测试 我想要的是检查Cassandra和MySQL中查询的响应时间,以查找不同类型的数据量以及多个数据访问. (试着强调数据库). 有什么更好的方法呢?什么是最合适的基准?解决方法:首先,我会尝试回答你的问题. 大

mysql – 多个表还是一个表?

我已经看到了一些有这个问题的论坛,但他们没有回答我想知道的一件事.我先解释一下我的主题: 我有一个系统,其中多个用户的每个日志都输入到数据库中(例如,登录User1,登录User2,User1进入用户管理,User2更改密码等).所以我预计每个用户每天会有100到200个条目.现在,我在单个表中进行

PHP或MySQL中的低优先级请求

我有一个拥有500万行的网站和数据库,它的工作就像一个魅力.但是,我每小时运行一次清理cronjob,将旧数据放入“日志”表并删除旧数据,此时服务器响应非常慢.是否有可能通过PHP或MySQL将该工作降低?解决方法:我认为清理中最重的任务是DELETE操作,您可以使用LOW_PRIORITY. 从MySql manu

MySQL IN子句是否多次执行子查询?

鉴于MySQL中的这个SQL查询: SELECT * FROM tableA WHERE tableA.id IN (SELECT id FROM tableB); MySQL是否为tableA中的每一行多次执行子查询SELECT id FROM tableB? 有没有办法让sql更快,而不使用变量或存储过程? 为什么这通常比使用LEFT JOIN慢?解决方法:你的假设是假的;子查询只

使用python在SQLite数据库中重复编写数据

我想将SQLite用于我的GUI Python应用程序,但我必须每500 MS更新一次数据库而不影响我的程序的性能. 我正在使用PyQt4,所以我考虑使用QThread,但似乎很难处理,所以我想知道它是否是真正尝试理解它之前的最佳方式. 我的问题是:QThread是最好的方式还是其他方式?解决方法:根据python实现

更大的架构上更好的mysql查询性能

我的服务器上的查询和MySql InnoDB架构有一个非常奇怪的问题. 该查询具有较高的查询时间(约1,6 – 2秒),并且我的数据库几乎为空. 为了验证更大数据集的性能,我已经克隆了我的数据库,并在其中填充了数千行.非常奇怪的是查询花费的时间比以前少(0,5秒). 在两个查询上使用explain命

如果MYSQL max_connections设置为高于所需应用程序的值,则会出现任何问题

我有一个指向MySQL 5.7的应用程序,它在启动时需要的不仅仅是默认的MySQL max_connections(151).但是,在服务器启动几分钟后,它将逐渐减少(大约20个连接).因此,为了启动服务器,我在etc / my.cnf文件中将max_connections配置为500. 我的问题是,如果我在整个服务器运行时保持相同的最

mysql简单聚合子查询结果很慢

我正在尝试根据购买的商品数量“捆绑”所有客户,并显示每个箱柜的数量.我试图看看有多少人(account_id)购买了一件商品,购买了两件商品,一直购买了九件商品,然后购买了十件商品. 这是我正在使用的查询 – 为了它的价值,我希望查询对销售进行全表扫描以生成结果,但整个过程需要永远!

使用deactive status列而不是为mysql性能删除行更好吗?

最近我观看了一段关于mysql中CRUD操作的视频,并且在该视频中引起了我注意的一件事,评论员声称删除了对mysql索引性能不好的行,而不是我们应该使用状态列. 那么,这两者之间真的有区别吗?解决方法:我想策略是删除一行影响所有索引,而修改’status’列可能不会影响任何索引(因为你可能

mysql 2.5M行慢计数

有一个简单的mysql表与id(主键)和哈希(索引).其他一些列(varchar / int)但不需要对它们进行查询. 我的总表大小约为350MB,行数为2.5M. SELECT COUNT(*) FROM table LIMIT 1; 大约需要0.5 – 1s.我的innodb缓冲区设置为1GB.我也试过变化(没有改进),如: SELECT COUNT(id) FROM ta