sql 效率问题
有这样一个疑问,如果是一系列比较复杂的操作,跨表、累加之类的,简单的 sql 可能需要执行两个以上才能完成。
用编程语言多次执行,结果集里面折腾有效率呢;还是想尽办法写个高深的 sql,一次解决问题呢?
俺 sql 很水,编程语言也只是中下游水平,又有一颗追求优雅、高效之心。
举个例子:
有个临时表,存储 pid, tid, duration,通过一次 select,将 (pid, tid) 作为唯一组合,统计其出现次数(count),和 duration 累加总和。
然后将 pid, tid, count, duration 存入另外一个表,还要保证另外一个表的 (pid, tid) 是唯一组合。
插入部分的唯一性已经写出了稍微复杂的 sql,现在在考虑是将第一部分的结果集遍历再分别插入,还是再考虑一个更复杂的 sql。
ps: 第二部分插入的题目在:http://segmentfault.com/q/1010000000723454
所用的 sql 为:
<code>alter table stat add unique index pid_and_tid (pid, tid); insert into stat (pid, tid, count, duration) values (1, 1, 1, 1) on duplicate key update count = count + 1, duration = duration + 1 </code>
回复内容:
有这样一个疑问,如果是一系列比较复杂的操作,跨表、累加之类的,简单的 sql 可能需要执行两个以上才能完成。
用编程语言多次执行,结果集里面折腾有效率呢;还是想尽办法写个高深的 sql,一次解决问题呢?
俺 sql 很水,编程语言也只是中下游水平,又有一颗追求优雅、高效之心。
举个例子:
有个临时表,存储 pid, tid, duration,通过一次 select,将 (pid, tid) 作为唯一组合,统计其出现次数(count),和 duration 累加总和。
然后将 pid, tid, count, duration 存入另外一个表,还要保证另外一个表的 (pid, tid) 是唯一组合。
插入部分的唯一性已经写出了稍微复杂的 sql,现在在考虑是将第一部分的结果集遍历再分别插入,还是再考虑一个更复杂的 sql。
ps: 第二部分插入的题目在:http://segmentfault.com/q/1010000000723454
所用的 sql 为:
<code>alter table stat add unique index pid_and_tid (pid, tid); insert into stat (pid, tid, count, duration) values (1, 1, 1, 1) on duplicate key update count = count + 1, duration = duration + 1 </code>
几乎任何时候降低数据库的
计算复杂度
都是好的。
内存可重复利用,容易扩展,在大多数场景下都可以利用内存来换取数据库性能,即:从数据库中简单地取出数据,再在内存中处理成想要的数据。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。
