草庐IT

mysql - 如何加速具有多个连接的 Group By 语句?

我在尝试加速查询时遇到了问题,该查询仅需要大约11秒就处理200万行。Hereisalinktomysqlfiddle.这是我要运行的语句和我的EXPLAIN语句。查询:SELECTcrawl.pkPk,domains.domainDomain,CONCAT(schemes.scheme,"://",domains.domain,remainders.remainder)Uri,crawl.redirectRedirectFROMcrawlLEFTJOINdatesONcrawl.date_crawled=dates.pkLEFTJOINschemesONcrawl.scheme=sc

mysql - 加速 : query with a GROUP BY

我使用下面的查询来选择电影年龄最小的Actor。SELECTproduction_cast.production_id,MIN(birthdate)FROMpersonLEFTJOINproduction_castONproduction_cast.person_id=person.idWHEREbirthdateISNOTNULLGROUPBYproduction_cast.production_id;然而IMDB数据集非常庞大,需要300多秒才能完成。如果没有GROUPBY和MIN,此查询将在0.2秒内完成:SELECTproduction_cast.production_idFR

sql - 加速这个大 JOIN

编辑:以下解释观察结果的问题存在错误。我可以删除问题,但这可能对某人仍然有用。错误是在服务器上运行的实际查询是SELECT*FROMt(这很愚蠢),而我认为它正在运行SELECTt.*FROMt(这使得所有的区别)。请参阅tobyobrian的回答及其评论。在具有如下架构的情况下,我的查询速度太慢。表t具有由t_id索引的数据行。t通过联结表t_x和t_y连接表x和y仅包含JOIN所需的外键:CREATETABLEt(t_idINTNOTNULLPRIMARYKEY,datacolumns...);CREATETABLEt_x(t_idINTNOTNULL,x_idINTNOTNULL

MySQL 查询加速

我的查询速度有问题-它目前运行大约16秒,我需要加快速度!我的表方案如下:用户:id(int10,主键)用户名(varchar100)密码(varchar100)用户元:id(int10,主键)用户(int10)元数据(varchar100)值(长文本)我需要将用户元表中各行的数据(例如名字、姓氏等)作为列返回。此查询可以完成工作,但运行速度太慢:SELECTUsers.idasid,Users.usernameasusername,firstName.valueasmetaFirstName,lastName.valueasmetaLastName,userLevel.valueas

mysql - 加速 Rails 中的查询

我正在慢慢地从初级水平过渡到中级水平。在我的任务中,我遇到了加载某些查询所需时间的问题。我想知道是否有人可以指出一些可以提高我的索引操作查询性能的事情。运行Rails3.2.0、ruby1.9.3p194和MySQL现在我正在列出所有机构(大约7000个),加载需要10秒......我的索引操作defindex@institution=Institution.includes(:state).allend查看'btnbtn-minibtn-warning'%>制度模型classInstitution:company_repshas_many:company_repsdefpointsp

sql - mysql - 加速正则表达式

我有一张table:+--------+------------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+--------+------------------+------+-----+---------+----------------+|idurl|int(11)|NO|PRI|NULL|auto_increment||idsite|int(10)unsigned|NO|MUL|NULL|||url|varchar(2048)|NO||NULL||+----

sql - FULLTEXT 索引会加速 LIKE 条件吗?

我们有一个系统正在从使用LIKE设置的较旧的VARCHAR迁移到使用FULLTEXT索引的系统。到目前为止,每个人都在享受这种转变,但我们仍然有一些代码不适合FULLTEXT查询。目前我们有一个VARCHAR(255)列,我们想取消255个字符的限制。使用LIKE查询的区域会怎样? 最佳答案 全文索引无助于使用LIKE加速查询。但是普通索引可以加速以固定字符串开头的LIKE条件,例如LIKE'FOO%'。 关于sql-FULLTEXT索引会加速LIKE条件吗?,我们在StackOverf

mysql - 加速tokudb "alter table ... engine=TokuDB”

我正在尝试将一个4亿行的Innodb表转换为tokudb引擎。当我从"altertable...engine=TokuDB"开始时,事情一开始运行得非常快,(使用SHOWPROCESSLIST)我看到它每10秒读取大约100万行。但是一旦我达到大约19-20百万行,它就会开始减慢读取速度并且更像是每隔几秒读取10k行。是否有任何mysql或tokudb变量会影响ALTERTABLEtotokudb的工作速度?我尝试了tmp_table_size和其他一些方法,但似乎无法越过这个障碍。有什么想法吗? 最佳答案 我的解决方案是导出“到输

php - 如何使用超过 100 个 mysql 查询来加速页面?

我的网站上有一个PHP页面,它使用了100多个mysql查询。所有的查询都是不同的,并且都是来自多个表的SELECT查询。平均而言,页面加载大约需要5秒,我希望缩短这段时间。我有什么优化方法?我做了一些研究,并查看了内存缓存(我不知道它是如何工作的,它能做什么或者它是否适用于我的情况,所以帮助可能会很感激),但正如我所说,我不知道如果这适用于我的情况。我也在考虑查询缓存程序,但不知道有什么可以用的吗?有什么帮助吗? 最佳答案 MySQL有很多选项。首先是设置一个QueryCache在你的MySQL配置中。如果您的程序是SELECT繁

mysql - 使用 ASCII/Latin Charset 会加速数据库吗?

似乎对大多数字段使用ASCII字符集,然后仅对需要它的字段指定utf8会减少数据库必须执行的I/O量100%。谁知道这是不是真的?更新:以上并不是我的问题。我应该说:使用拉丁语作为默认字符集,然后只为需要它的字段指定utf8mb4。想法是:使用1个字节与2个字节应该将I/O提高100%。抱歉造成混淆。 最佳答案 简短回答:不值得担心。长答案:两个问题:速度:将两种编码与相应的_bin(ascii_bin或utf8_bin)COLLATION进行比较就像比较字节一样简单——因此没有显着差异。其他排序规则可能不同,ascii更快。但是与