首页 > TAG信息列表 > query-optimization

如何将mysql慢查询日志解析为有用的东西?

我有一个运行了数周的大量慢速查询日志.我想解析它,它将出现次数最多的查询放在顶部(具有执行次数和平均执行时间),并且从那里开始按降序排列. 我可以使用什么工具/命令来完成此任务?解决方法:检出Maatkit: mk-query-digest-解析日志等.分析,转换,过滤,查看和报告查询.

sql-在同一表上有4个查询,更好的方法?

目前,我正在执行一个查询,其中包含3个子查询, 所有查询都在同一张表上,所有查询都有不同的where子句 我曾考虑过要进行小组合作,但这会破坏SUM() 这是查询 SELECT SUM(club) AS club, (SELECT COUNT(id) FROM action_6_members WHERE SUBSTR(CODE, 1, 1) = '9') AS 5pts, (SELECT

索引这个mysql查询

我正在用以下查询查询数据库. 该查询需要21秒才能执行. 我已经通过解释查询进行了检查.我分别在字段groupId和batchId上具有索引. EXPLAIN SELECT message, sentOn, maskId, isDndCheck, contentType FROM sms_histories WHERE groupId = 1750 GROUP BY batchId ORDER BY batchId

MySQL连接性能不佳

我一直在尝试在MySQL中的两个表上执行联接,并且查询将运行一两分钟,然后再耗尽内存而没有结果.我距离数据库专家还很远,所以我不确定我的查询编写是否不好,是否配置了一些MySQL设置错误,或者我是否真的应该对查询做其他事情.仅供参考,数据库位于我的计算机本地. 我有一个大表(约200

sql-加速此大连接

编辑:以下问题有一个错误,可以解释这些发现.我可以删除问题,但这可能对某人仍然有用.错误是,当我认为服务器上正在运行的SELECT t.* FROM t(这很不一样)时,服务器上运行的实际查询是SELECT * FROM t(这很愚蠢).请参阅tobyobrian的答案和对此的评论. 在具有以下架构的情况下,我的查询

mysql-附加的“ AND`columnname` Like’%’”是否会影响性能?

一个简单的问题:向查询中添加这样的内容是否会损害mysql的性能,还是会很快使其得到优化? AND `name` LIKE '%' 我这里没有可测试的大型数据库. 顺便说一下,我要这样做是因为我希望用户能够将一些参数发送到我的服务器端脚本,然后该脚本捕获用户指定的准备好的语句并插入参数.我希望

PHP-MySQL优化:在查询内部还是外部执行数学运算?

我有一种强烈的感觉,查询本身不需要的所有数学运算都应该在查询之外执行.例如: $result = mysql_query(SELECT a, a*b/c as score FROM table) while ($row = mysql_fetch_assoc($result)) { echo $row['a'].' score: '.$row['score'].<br>; } vs: $result = mysql_qu

mysql-SQL多对多查询索引优化

我有一个要优化的多对多查询, 我应该为其创建什么索引? SELECT (SELECT COUNT(post_id) FROM posts WHERE post_status = 1) as total, p.*, GROUP_CONCAT(t.tag_name) tagged FROM tags_relation tr JOIN posts p ON p.po

根据用户完成的搜索对搜索条件记录进行计数(MYSQL PHP)

我有一个搜索表单,该表单根据可用性的特定日期提供在特定国家/地区度假的搜索属性.搜索部分有2个部分“基本搜索”和“ “高级搜索”. 基本搜索包含国家/地区下拉列表和日期字段.提前搜索,我们为酒店提供了多个过滤器,例如“卧室”(1间卧室,2间卧室等),然后是物业类型(公寓,别墅等)

是否对LIMIT的MySQL JOIN内部进行了优化?

一个表社区,其ID:int,名称:varchar.另一个表category_people为community_id:int,person_id:int.带有LIMIT查询的JOIN可能是 SELECT b.user_id, group_concat(a.name SEPARATOR ',') as groups FROM communities a JOIN communities_users b ON a.id = b.community_id GROUP BY b.user

mysql-对具有3,500,000行的表进行查询优化,建立索引

我有一桌产品,大约3,500,000件.该表在名为title的列上具有全文索引. 以下查询示例最多需要4秒钟的时间,这是完全不能接受的,并且正在寻找优化方法. 基本上;应该索引哪些列,我应该单独拉出这么多列还是拉所有列(总共23个)更快? 查询示例: SELECT PRid, title, Artist, author, actors

MySQL查询优化,解释和执行缓慢

遇到一些实际问题,尤其是一些查询.以下信息. tgmp_games,约2万行 CREATE TABLE IF NOT EXISTS `tgmp_games` ( `g_id` int(8) NOT NULL AUTO_INCREMENT, `site_id` int(6) NOT NULL, `g_name` varchar(255) NOT NULL, `g_link` varchar(255) NOT NULL, `g_url` varchar(

mysql-如何优化数据透视表的条件检查?

在recent question中,StevieG向我展示了如何解决数据透视表的问题.新的问题是我必须检查数据透视表上的某些条件.让我们进行最后的查询: SELECT c.id, GROUP_CONCAT(if(d.name = 'p1', d.value, NULL)) AS 'p1', GROUP_CONCAT(if(d.name = 'p2', d.value, NULL)) AS 'p2',

了解使用解释扩展的MySQL查询性能

我试图了解使用MySQL的SQL查询的性能.在PK上只有索引时,查询无法在10分钟内完成.我已经在where子句(时间戳,主机名,路径,类型)中使用的所有列上添加了索引,并且查询现在完成了大约50秒-但是对于看起来不太复杂的查询来说,这似乎仍然很长时间. 因此,我想了解导致查询的原因.我的假设

我应该使用SQL或Ruby处理大量数据吗?

我有一个带有成千上万个条目的MySQL表. 我需要指定一个日期范围并选择这两个日期之间的所有条目.然后,我需要按小时细分条目并获取特定字段. 用例: 我需要从6月6日到6月12日对条目进行逐小时细分,因此,在6月6日,我需要从12am到1 am、1am到2 am、2am到3am等一系列条目. 哪个更快? (以

mysql-简单查询优化(WHERE ORDER LIMIT)

我有这个查询,运行速度令人难以置信(4分钟): SELECT * FROM `ad` WHERE `ad`.`user_id` = USER_ID ORDER BY `ad`.`id` desc LIMIT 20; 广告表大约有1000万行. SELECT COUNT(*) FROM `ad` WHERE `ad`.`user_id` = USER_ID; 返回1万行. 表具有以下索引: PRIMARY KEY (`id`),

MySQL子查询比2个独立查询慢

我为一个简单的子查询而烦恼.我有以下查询女巫运行30秒: SELECT DISTINCT SUBSTRING( 6pp, 1, 4 ) AS postcode FROM 6pp WHERE gemeenteID IN ( SELECT gebiedID FROM tmp_orderimport WHERE typeGebied = 'Gemeente' AND idorder =1733 AND STATUS = TRUE );

如何在没有任何联接的情况下优化大型MySQL表中的查询?

如何从单个大型表(约7500万行)优化此单个查询? SELECT log_id FROM score WHERE class_id IN (17,395) ORDER BY date_reverse LIMIT 10000; 我为一组特定的类提取了最新的10k记录,以便可以快速知道它们在较大的导入脚本中是否已经存在. 我想我已经建立了适当的索引,

mysql-查询另一个表中列出的日期

我想选择两个日期之间的表中的某些行(在单独的表中找到).我的表和查询的详细信息可以在前面的问题here中找到(我现在对如何在HIVE / hiveQL中执行此操作感兴趣).从我当前的查询来看,它运行了很长时间,然后似乎无限期挂起,而当我对日期进行硬编码时,它很快就会完成.表和查询以供参考

如何删除php循环以减少mysql查询数量

在我重构的一段代码中,一个while循环遍历数据库查询的结果集并执行查询的子集. 在大多数情况下,可以提取这些循环以使用更多的传递参数集执行更少的查询. 但是,我不确定在ORDER BY和LIMIT 1使如何优化它变得有些棘手的情况下,如何处理该特定查询.关于如何处理此查询类型,任何观点都

mysql-关系数据库(RDBMS)非规范化数据

我相信这个问题并没有专门针对MySQL-我正在使用的数据库-,而是关于最佳实践的问题. 到目前为止,我的问题可以通过创建表和查询表(有时在这里和那里联接)来解决.但是我正在做的事情感觉不对劲,每当我需要在我的“常见”查询旁边加上非规范化数据时,就会触发我. 示例用例 为了让我更

php-MySQL与Web Server处理数据

我想知道用MySQL或像PHP或Python这样的服务器语言处理数据是否更快.我敢肯定,由于索引,缓存等原因,ORDER之类的本机函数在MySQL中会更快,但实际上是在计算排名(包括返回具有相同排名的多个条目的联系): 示例SQL SELECT TORCH_ID, distance AS thisscore, (SELECT COUNT(dis

与字符串相比,MySQL在where子句中使用数字更快吗?

假设您有4种评估类型:测试,测验,MiniQuiz和FinalExam 我们像这样将记录存储在数据库中 studentid ----- assesType 1 test 2 quiz 3 quiz 4 quiz 5 miniquiz 6 miniquiz 7

mysql-优化查询从同一表提取的多列

这是another question here on SO的跟进. 我有这两个数据库表(省略了更多表): acquisitions (acq) id {PK} id_cu {FK} datetime { Unique Constraint: id_cu - datetime } data id {PK} id_acq {FK acquisitions} id_meas id_elab value 所

使用日期字段作为表之间的引用是否明智?

我有两个表,事件和预订,由event_id链接. 例: CREATE TABLE `bookings` ( `booking_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `event_id` int(10) UNSIGNED NULL DEFAULT NULL, `fullname` varchar(80) NOT NULL, `phone` varchar(20) NULL DEFAULT NUL