Oracle やその他のリレーショナル データベースを使用したことのある DBA や開発者は皆、データベースがサブクエリ用に最適化されており、テーブルの実行を促進する適切な選択ができると考えており、この経験を MySQL データベースに移植します。残念ながら、mysql はサブクエリの処理でがっかりするかもしれません。私たちの運用システムでは、次の問題が発生しました:
select i_id, sum(i_sell) as i_sell from table_data where i_id in (select i_id from table_data where Gmt_create >= ‘2011-10-07 00:00:00’) group by i_id;
(注: SQL のビジネス ロジックは、次のような例として使用できます。まず 10 日に新しく販売された 100 冊の本を出版してください。 -07 を実行し、年間を通じてこれら 100 冊の新しく販売された書籍の売上をクエリします)。
この SQL のパフォーマンスの問題は、mysql オプティマイザーがサブクエリを処理する際にサブクエリを書き換えるという弱点が原因です。通常、最初に内部から外部へのサブクエリの結果を完了し、次にサブクエリを使用して外部クエリ テーブルを駆動してクエリを完了したいと考えますが、mysql 処理は最初に外部テーブル内のすべてのデータをスキャンします。それぞれのデータはサブクエリに転送され、その外観が非常に大きい場合、パフォーマンスの問題が発生します。
table_data テーブルのデータは同時に 70W あるため、サブクエリ内の時間 大量のデータがあり、大量のデータが繰り返されるため、700,000 件近くの相関が必要になります。多数の相関により、この SQL は完了するまでに数時間実行されるため、 sql:
SELECT t2.i_id, SUM(t2.i_sell) AS sold FROM (SELECT distinct i_id FROM table_data WHERE gmt_create >= ‘2011-10-07 00:00:00’) t1, table_data t2 WHERE t1.i_id = t2.i_id GROUP BY t2.i_id;
サブクエリを変更します。相関させるために、t1 が t2 に関連する回数を減らすためにサブクエリに distinct を追加します。
変換後、SQL の実行時間は 100 ミリ秒未満に低下しました。
以上が実稼働ライブラリの mysql で発生するサブクエリの例の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

SublimeText3 中国語版
中国語版、とても使いやすい

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
