草庐IT

query-optimization

全部标签

mysql - 如何针对单个 Query 进一步优化此 MySQL 表

我有一个包含约100万行的InnoDBMySqlGeoID表。表结构是这样的:CREATETABLE`geoid`(`start_ip`int(11)NOTNULL,`end_ip`int(11)NOTNULL,`city`varchar(64)NOTNULL,`region`char(2)NOTNULL,PRIMARYKEY(`start_ip`,`end_ip`))ENGINE=InnoDBDEFAULTCHARSET=latin1;只会对该表运行一种类型的查询:SELECTcity,regionFROMgeoidWHERE1259650516BETWEENstart_ipANDe

mysql - 在不使用嵌套查询的情况下使用 GROUP BY 和 ORDER BY 优化 JOINed 表上的 MySQL 查询

对我来说,这有点像是一个初学者SQL问题,但这里是。这就是我想要做的:将三个表连接在一起,产品、标签和一个链接表。将标签聚合到一个逗号分隔的字段中(因此是GROUP_CONCAT和GROUPBY)限制结果(最多30个)按照“创建”日期的顺序排列结果尽可能避免使用子查询,因为使用ActiveRecord框架编写代码特别不愉快我已经在这篇文章的底部描述了所涉及的表,但这是我正在执行的查询SELECTp.*,GROUP_CONCAT(pt.name)FROMproductspLEFTJOINproduct_tags_for_productspt4pON(pt4p.product_id=p.i

mysql - 如何在不在where子句中添加表名或表别名的情况下避免 "Ambiguous field in query"

我有一个选择查询,其中我加入了几个表,比如T1和T2两个表都有一个名为STATUS的字段,我不需要获取。在where子句中,我需要添加WHERESTATUS=1和更多条件。但不知何故,我无法将表名或表别名添加到where子句中的字段,即我无法使用whereT2.STATUS=1。有什么方法可以始终将where子句中的STATUS=1视为T1.STATUS以便我可以避免“模糊字段错误”?这是一个示例查询:selectT1.name,T1.address,T1.phone,T2.title,T2.descriptionfromT1LeftJoinT2onT1.CID=T2.IDwhereS

MySQL GROUP BY 优化 - InnoDB 与 MyISAM?

问题有谁知道为什么没有对基于MyISAM的表进行GROUPBY优化?(我使用的是这个版本:5.1.49-3)测试表CREATETABLE`_test2_innodb`(`i`int(10)unsignedNOTNULLAUTO_INCREMENT,`n`smallint(5)unsignedNOTNULL,`t`int(10)unsignedNOTNULL,`v`smallint(6)NOTNULL,PRIMARYKEY(`i`),KEY`i_n`(`n`),KEY`i_t`(`t`))ENGINE=InnoDBDEFAULTCHARSET=latin1CREATETABLE`_tes

MySQL 查询优化 : how to optimize voting calculations?

希望你一切都好。我需要一些关于这个数据库的帮助:这是一个存储选票的数据库。用户选择他们喜欢的音轨,然后为它们投票。他们可以投票“赞成”或“反对”。非常简单。但是,当涉及到计算统计数据时,它就变得毛茸茸了。元这是一个键值样式表,存储最常用的统计信息(只是一种缓存):mysql>SELECT*FROMMeta;+-------------+-------+|Key|Value|+-------------+-------+|TRACK_COUNT|2620||VOTE_COUNT|3821||USER_COUNT|371|+-------------+-------+投票投票表保存投票本身

php - 使用新的 wp_query 将 sql 查询转换为 wordpress 查询

我正在尝试将sql查询转换为wordpress查询,但无法理解它是如何完成的?我尝试转换为newwp_query的查询$query="SELECTSQL_CALC_FOUND_ROWSdistinctwp_posts.IDFROMwp_postsINNERJOINwp_postmetaON(wp_posts.id=wp_postmeta.post_id)INNERJOINwp_postmetaASmt1ON(wp_posts.id=mt1.post_id)WHERE1=1ANDwp_posts.idNOTIN(0)ANDwp_posts.post_type='topic'AND(wp_

mysql - 使用 2 个连接和 group by 子句优化 mysql 查询

我有一个需要10-20秒的查询,但我确信它可以优化,我只是不够好。我需要一些帮助和解释,以便我可以将其应用于类似的查询。这是我的查询:SELECT`store_formats`.`StoreNbr`,`store_formats`.`StoreName`,`store_formats`.`FormatName`,`eds_sales`.`Date`,sum(`eds_sales`.`EPOSSales`)ASSales,sum(`eds_sales`.`EPOSQuantity`)ASQuantityFROM`eds_sales`INNERJOIN`item_codes`ON`eds_

mysql group by query with column filter

我有一个mysql表,其中包含下面提到的C1、C2和C3列数据。表格数据如下(保密的虚拟数据)。我想要一个mysql查询,它将按c1降序返回所有C1列的计数(首先获得最大计数C1),其中C1的最大计数desc和C2数据重复了最大次数,与C3相同。C1C2C3XAUXAUXBVYHKYHKYHKZFRZFPZGPZFR输出应采用以下格式。CountC1C2C34ZFP3YHK3XAU我能够在同一查询中获取计数,但不能获取C2、C3的最大重复值。 最佳答案 你可以尝试使用select子查询来实现。查询1:SELECTCOUNT(*),C

mysql - 加快此 MySQL 语句

我正在尝试获取存储在seotc中的需要进行的调查计数,以及存储在seotcresults_v2中的已完成调查计数。seotc表包含近10万条记录,seotcresults_v2表包含大约一半的记录。我怎样才能加快这个查询的速度?SELECTDISTINCTseotcresults_v2.Clock,COUNT(seotc.Id)ASSurveys,COUNT(seotcresults_v2.Id)ASCompleteFROMseotcJOINseotcresults_v2ONseotcresults_v2.Clock=seotc.ClockWHEREseotcresults_v2.Ca

mysql - 如何修复蛋糕烘焙控制台中的错误 "PHP Fatal error: Call to undefined function mysql_query() "

这个问题在这里已经有了答案:Whyshouldn'tIusemysql_*functionsinPHP?(14个答案)关闭25天前。我在很多地方都看到过这个错误,但确实如此。我在运行蛋糕烘焙控制台时遇到此错误,就在选择C“Controller”然后选择默认数据库配置之后我通过Virtualbox在Ubuntu10.10上我正在使用xampp-并通过命令apt-getinstallcakephp安装了cakephp这里是错误UseDatabaseConfig:(default/test)[default]>PHPFatalerror:Calltoundefinedfunctionmysq