草庐IT

query-optimization

全部标签

php - 拉维尔 : how to add where clause using query builder?

我有这个查询,使用Laravel查询生成器生成:$rows=DB::table('elements')->where('type',1);对应于:“SELECT*fromelementsWHEREtype=1”现在,在某些情况下,我需要添加第二个Where来创建这样的查询:SELECT*fromelementsWHEREtype=1ANDlang='EN'使用经典的php我会做类似的事情:$sql='SELECT*fromelementsWHEREtype=1';if($var==true)$sql.="ANDlang='EN'";我如何使用Laravel查询生成器来做到这一点?谢谢。

php - 拉维尔 : how to add where clause using query builder?

我有这个查询,使用Laravel查询生成器生成:$rows=DB::table('elements')->where('type',1);对应于:“SELECT*fromelementsWHEREtype=1”现在,在某些情况下,我需要添加第二个Where来创建这样的查询:SELECT*fromelementsWHEREtype=1ANDlang='EN'使用经典的php我会做类似的事情:$sql='SELECT*fromelementsWHEREtype=1';if($var==true)$sql.="ANDlang='EN'";我如何使用Laravel查询生成器来做到这一点?谢谢。

sql - Mysql提高SELECT速度

我目前正在尝试提高MySQL表的SELECTS速度,如果有任何改进方法的建议,我将不胜感激。我们在表中有超过3亿条记录,并且该表具有结构标签、日期、值。主键是标签和日期的组合键。该表包含大约600个唯一标签的信息,其中大多数平均包含大约400,000行,但范围从2000到超过1100万行。针对该表运行的查询是:SELECTdate,valueFROMtableWHEREtag="a"ANDdateBETWEEN'x'and'y'ORDERBYdate....而且几乎没有INSERTS。我曾尝试将数据按标签划分为不同数量的分区,但这似乎速度几乎没有提高。 最佳

sql - Mysql提高SELECT速度

我目前正在尝试提高MySQL表的SELECTS速度,如果有任何改进方法的建议,我将不胜感激。我们在表中有超过3亿条记录,并且该表具有结构标签、日期、值。主键是标签和日期的组合键。该表包含大约600个唯一标签的信息,其中大多数平均包含大约400,000行,但范围从2000到超过1100万行。针对该表运行的查询是:SELECTdate,valueFROMtableWHEREtag="a"ANDdateBETWEEN'x'and'y'ORDERBYdate....而且几乎没有INSERTS。我曾尝试将数据按标签划分为不同数量的分区,但这似乎速度几乎没有提高。 最佳

sql - 摆脱 "Using temporary; Using filesort"

当我对查询进行解释时我看到它在第一行的“额外”下有“使用临时;使用文件排序”。我知道这很糟糕,但我不知道这到底意味着什么或如何解决它。如果您想查看我的查询,这里是我针对同一查询提出的更一般的问题:MySQLqueryoptimizationandEXPLAINforanoob.作为引用,查询涉及24个表和23个连接。我现在的问题是:“使用临时文件”和“使用文件排序”是什么意思?假设它们不好,我该如何摆脱它们? 最佳答案 如前所述,“使用文件排序”和“使用临时文件”并不总是意味着性能不佳。Here是提高ORDERBY语句性能的一些基本

sql - 摆脱 "Using temporary; Using filesort"

当我对查询进行解释时我看到它在第一行的“额外”下有“使用临时;使用文件排序”。我知道这很糟糕,但我不知道这到底意味着什么或如何解决它。如果您想查看我的查询,这里是我针对同一查询提出的更一般的问题:MySQLqueryoptimizationandEXPLAINforanoob.作为引用,查询涉及24个表和23个连接。我现在的问题是:“使用临时文件”和“使用文件排序”是什么意思?假设它们不好,我该如何摆脱它们? 最佳答案 如前所述,“使用文件排序”和“使用临时文件”并不总是意味着性能不佳。Here是提高ORDERBY语句性能的一些基本

mysql - 如何解释 MySQL EXPLAIN 的输出?

我想从entrytable中选择text列的内容。EXPLAINSELECTtextFROMentrytableWHEREuser='username'&&`status`='1'&&(`status_spam_user`='no_spam'||(`status_spam_user`='neutral'&&`status_spam_system`='neutral'))ORDERBYdatumDESCLIMIT6430,10该表有三个索引:index_user(用户)index_datum(基准)index_status_mit_spam(状态、status_spam_user、sta

mysql - 如何解释 MySQL EXPLAIN 的输出?

我想从entrytable中选择text列的内容。EXPLAINSELECTtextFROMentrytableWHEREuser='username'&&`status`='1'&&(`status_spam_user`='no_spam'||(`status_spam_user`='neutral'&&`status_spam_system`='neutral'))ORDERBYdatumDESCLIMIT6430,10该表有三个索引:index_user(用户)index_datum(基准)index_status_mit_spam(状态、status_spam_user、sta

SQL 魔法 - 查询不应该花费 15 个小时,但确实如此

好的,所以我有一个非常可怕的MySQL表(90万条记录,总共180MB),我想从具有更高date_updated的子组记录中提取并计算每个组的加权平均值。计算运行了大约15个小时,我有一种强烈的感觉,我做错了。首先,巨大的table布局:类别element_iddate_updated值重量source_prefixsource_name这里唯一的关键是element_id(BTREE,~8k唯一元素)。及计算过程:为每个组和子组制作哈希。CREATETEMPORARYTABLE`temp1`(INDEX(`ds_hash`))SELECT`category`,`element_id`

SQL 魔法 - 查询不应该花费 15 个小时,但确实如此

好的,所以我有一个非常可怕的MySQL表(90万条记录,总共180MB),我想从具有更高date_updated的子组记录中提取并计算每个组的加权平均值。计算运行了大约15个小时,我有一种强烈的感觉,我做错了。首先,巨大的table布局:类别element_iddate_updated值重量source_prefixsource_name这里唯一的关键是element_id(BTREE,~8k唯一元素)。及计算过程:为每个组和子组制作哈希。CREATETEMPORARYTABLE`temp1`(INDEX(`ds_hash`))SELECT`category`,`element_id`