Monty说MySQL的优化(五)_MySQL
二十一、MySQL表高速缓存工作原理
每个MyISAM表的打开实例(instance)使用一个索引文件和一个数据文件。如果表被两个线程使用或在同一条查询中使用两次,MyIASM将共享索引文件而是打开数据文件的另一个实例。
如果所有在高速缓存中的表都在使用,缓存将临时增加到比表缓存尺寸大些。如果是这样,下一个被释放的表将被关闭。
你可以通过检查mysqld的Opened_tables变量以检查表缓存是否太小。如果该值太高,你应该增大表高速缓存。
二十二、MySQL扩展/优化-提供更快的速度
使用优化的表类型(HEAP、MyIASM或BDB表)。
对数据使用优化的列。
如果可能使用定长行。
使用不同的锁定类型(SELECT HIGH_PRIORITY,INSERT LOW_PRIORITY)
Auto_increment
REPLACE (REPLACE INTO table_name VALUES (...))
INSERT DELAYED
LOAD DATA INFILE / LOAD_FILE()
使用多行INSERT一次插入多行。
SELECT INTO OUTFILE
LEFT JOIN, STRAIGHT JOIN
LEFT JOIN ,结合IS NULL
ORDER BY可在某些情况下使用键码。
如果只查询在一个索引中的列,将只使用索引树解决查询。
联结一般比子查询快(对大多数SQL服务器亦如此)。
LIMIT
SELECT * from table1 WHERE a > 10 LIMIT 10,20
DELETE * from table1 WHERE a > 10 LIMIT 10
foo IN (常数列表) 高度优化。
GET_LOCK()/RELEASE_LOCK()
LOCK TABLES
INSERT和SELECT可同时运行。
UDF函数可装载进一个正在运行的服务器。
压缩只读表。
CREATE TEMPORARY TABLE
CREATE TABLE .. SELECT
带RAID选项的MyIASM表将文件分割成很多文件以突破某些文件系统的2G限制。
Delay_keys
复制功能
二十二、MySQL何时使用索引
对一个键码使用>, >=, =, 1 and key_part1
如果使用HEAP表且不用=搜索所有键码部分。
在HEAP表上使用ORDER BY。
如果不是用键码第一部分
SELECT * FROM table_name WHERE key_part2=1
如果使用以一个通配符开始的LIKE
SELECT * FROM table_name WHERE key_part1 LIKE '%jani%'
搜索一个索引而在另一个索引上做ORDER BY
SELECT * from table_name WHERE key_part1 = # ORDER BY key2
二十四、学会使用EXPLAIN
对于每一条你认为太慢的查询使用EXPLAIN!
mysql> explain select t3.DateOfAction, t1.TransactionID
-> from t1 join t2 join t3
-> where t2.ID = t1.TransactionID and t3.ID = t2.GroupID
-> order by t3.DateOfAction, t1.TransactionID;
+-------+--------+---------------+---------+---------+------------------+------+---------------------------------+
| table | type | possible_keys | key | key_len | ref | rows | Extra |
+-------+--------+---------------+---------+---------+------------------+------+---------------------------------+
| t1 | ALL | NULL | NULL | NULL | NULL | 11 | Using temporary; Using filesort |
| t2 | ref | ID | ID | 4 | t1.TransactionID | 13 | |
| t3 | eq_ref | PRIMARY | PRIMARY | 4 | t2.GroupID | 1 | |
+-------+--------+---------------+---------+---------+------------------+------+---------------------------------+
ALL和范围类型提示一个潜在的问题。
二十五、学会使用SHOW PROCESSLIST
使用SHOW processlist来发现正在做什么:
+----+-------+-----------+----+---------+------+--------------+-------------------------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-------+-----------+----+---------+------+--------------+-------------------------------------+
| 6 | monty | localhost | bp | Query | 15 | Sending data | select * from station,station as s1 |
| 8 | monty | localhost | | Query | 0 | | show processlist |
+----+-------+-----------+----+---------+------+--------------+-------------------------------------+
在mysql或mysqladmin中用KILL来杀死溜掉的线程

ホット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)

ホットトピック











Solana ブロックチェーンと SOL トークン Solana は、分散型アプリケーション (dApps) に高いパフォーマンス、セキュリティ、スケーラビリティを提供することに重点を置いたブロックチェーン プラットフォームです。 Solana ブロックチェーンのネイティブ資産として、SOL トークンは主に取引手数料の支払い、誓約、ガバナンスの決定への参加に使用されます。 Solana のユニークな特徴は、トランザクション確認時間の短縮とスループットの高さであり、開発者とユーザーの間で好まれています。 SOL トークンを通じて、ユーザーは Solana エコシステムのさまざまなアクティビティに参加し、プラットフォームの開発と進歩を共同で促進できます。 Solana の仕組み Solana は、数千のトランザクションを効率的に処理できる履歴証明 (PoH) と呼ばれる革新的なコンセンサス メカニズムを使用します。

SpringDataJPA は JPA アーキテクチャに基づいており、マッピング、ORM、トランザクション管理を通じてデータベースと対話します。そのリポジトリは CRUD 操作を提供し、派生クエリによりデータベース アクセスが簡素化されます。さらに、遅延読み込みを使用して必要な場合にのみデータを取得するため、パフォーマンスが向上します。

Polygon: イーサリアムエコシステムを構築する多機能ブロックチェーン Polygon は、以前は MaticNetwork として知られていたイーサリアム上に構築された多機能ブロックチェーン プラットフォームです。その目標は、イーサリアム ネットワークにおけるスケーラビリティ、高額な料金、複雑さの問題を解決することです。 Polygon は、スケーラビリティ ソリューションを提供することで、開発者とユーザーに、より高速、より安価、よりシンプルなブロックチェーン エクスペリエンスを提供します。 Polygon の仕組みは次のとおりです: サイドチェーン ネットワーク: Polygon は複数のサイドチェーンのネットワークを作成します。これらのサイドチェーンはメインのイーサリアム チェーンと並行して実行され、大量のトランザクションを処理できるため、ネットワーク全体のスループットが向上します。 Plasma フレームワーク: Polygon は Plasma フレームワークを利用しています。

VET Coin: ブロックチェーンベースの IoT エコシステム VeChainThor (VET) は、データの信頼性を確保し、価値の安全な転送を可能にすることで、モノのインターネット (IoT) 分野を強化することを目的としたブロックチェーン技術に基づくプラットフォームです。 。 VET コインは VeChainThor ブロックチェーンのネイティブ トークンであり、次の機能があります: 取引手数料の支払い: VET コインは、データ ストレージ、スマート コントラクトの実行、本人確認など、VeChainThor ネットワーク上での取引手数料の支払いに使用されます。ガバナンス: VET トークン所有者は、プラットフォームのアップグレードや提案への投票など、VeChainThor のガバナンスに参加できます。インセンティブ: VET コインは、ネットワーク内のバリデーターにインセンティブを与えて、

ShibaInu Coin: 犬にインスピレーションを得た暗号通貨 ShibaInu Coin (SHIB) は、象徴的な柴犬の絵文字にインスピレーションを得た分散型暗号通貨です。この暗号通貨は2020年8月に発売され、イーサリアムネットワーク上でドージコインの代替となることを目指しています。動作原理 SHIB コインは、イーサリアム ブロックチェーン上に構築されたデジタル通貨であり、ERC-20 トークン規格に準拠しています。これは、分散型コンセンサスメカニズムであるプルーフ・オブ・ステーク(PoS)を利用しており、これにより、保有者はSHIBトークンをステーキングしてトランザクションを検証し、それに対する報酬を得ることができます。主な特徴 大量の供給量: SHIB コインの初期供給量は 1,000 兆コインであり、流通している仮想通貨としては最大の 1 つとなります。低価格

Algorand: 純粋な Byzantine コンセンサス プロトコルに基づいたブロックチェーン プラットフォーム Algorand は、純粋な Byzantine コンセンサス プロトコルに基づいて構築されたブロックチェーン プラットフォームであり、効率的で安全かつスケーラブルなブロックチェーン ソリューションを提供することを目的としています。このプラットフォームは、MIT 教授のシルビオ・ミカリによって 2017 年に設立されました。動作原理 アルゴランドの中核は、独自の純粋なビザンチン コンセンサス プロトコルであるアルゴランド コンセンサスにあります。このプロトコルを使用すると、ネットワーク内に悪意のあるノードが存在する場合でも、ノードはトラストレス環境でコンセンサスを達成できます。アルゴランドのコンセンサスは、一連の手順を通じてこの目標を達成します。キーの生成: 各ノードは公開キーと秘密キーのペアを生成します。提案フェーズ: ランダムに選択されたノードが新しいゾーンを提案します

Beam Coin: プライバシーを重視した暗号通貨 Beam Coin は、安全で匿名のトランザクションを提供するように設計されたプライバシーを重視した暗号通貨です。これは、トランザクションをマージし、送信者と受信者のアドレスを隠すことでユーザーのプライバシーを強化するブロックチェーン技術である MimbleWimble プロトコルを使用します。 Beam Coin の設計コンセプトは、取引情報の機密性を保証するデジタル通貨のオプションをユーザーに提供することです。このプロトコルを採用することで、ユーザーは個人情報の漏洩を心配することなく、より安心して取引を行うことができます。このプライバシー保護機能により、Beam Coin が機能します。MimbleWimble プロトコルは、以下によってプライバシーを強化します。 トランザクションのマージ: 複数のトランザクションを結合します。

AR コイン: 拡張現実技術に基づくデジタル通貨 AR コインは、拡張現実技術を使用してユーザーにデジタル コンテンツとの対話体験を提供し、現実世界で没入型の体験を作成できるようにするデジタル通貨です。仕組み AR Coin は、次の重要な概念に基づいて機能します。 拡張現実 (AR): AR テクノロジーは現実世界にデジタル情報を重ね合わせ、ユーザーが仮想オブジェクトと対話できるようにします。ブロックチェーン: ブロックチェーンは、トランザクションの記録と検証に使用される分散型台帳テクノロジーです。 AR コインにセキュリティと透明性を提供します。スマート コントラクト: スマート コントラクトは、特定の操作を自動化するために使用されるブロックチェーンに保存されるコードです。これらは AR コインの作成と管理において重要な役割を果たします。 ARコインのワークフローは以下の通りです。 ARボディの作成
