ホームページ  >  記事  >  データベース  >  さまざまな開発環境と運用環境における MySQL インデックスの比較

さまざまな開発環境と運用環境における MySQL インデックスの比較

巴扎黑
巴扎黑オリジナル
2017-07-19 17:21:491206ブラウズ

--1. インデックス情報テーブルの作成
create table `t_index_update` (
`table_name` varchar(20) COLLATE gbk_bin DEFAULT NULL,
`index_name` varchar(20) COLLATE gbk_bin DEFAULT NULL,
`index_cols` varchar(100) COLLATE gbk_bin DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gbk COLLATE=gbk_bin;
--2. t_index_update() に挿入します
select
table_name,
index_name,
group_concat(distinct concat('' ', column_name, ''' ) seq_in_index asc 区切り文字 ', ' で並べ替えます。information_schema.STATISTICS からの Index_cols
として、table_schema= 'elk'
、column_name<>'seq_id'
、index_name<>'primary'
table_name、index_name
order でグループ化します。 by table_name asc、index_name asc;
--3. オフラインのインデックス情報テーブルをオンラインに同期します
--4. 削除および変更されたインデックスの削除ステートメントを作成します
select concat('alter table `', a.Table_name,'` Dropインデックス ', a.INDEX_NAME,'; ')
From
(
select
table_name,
Index_name,
group_concat (disinct content (' '' ', C. Olumn_name, '`') order by seq_in_index asc separator ', ' ) information_schema.STATISTICS
のindex_cols
として、table_schema= 'elk'
およびcolumn_name<>'seq_id'
およびindex_name<>'primary'
group by table_name、index_name
) a
left join t _index_update b on b .table_name および b.index_name=a.index_name および b.index_cols=a.index_cols
b.index_name は null;
--5. 新しいインデックスの新しいステートメントを構築します
select concat( 'alter table `',a .table_name,'' addindex ',a.index_name,'(',a.index_cols,');')
from t_index_update a
left join (
select
table_name,
index_name,
group_concat(distinct concat('` ', column_name, '`') seq_in_index asc 区切り文字 ', ') で並べ替えます。index_cols として
information_schema.STATISTICS から
where table_schema= 'elk'
and column_name<>'seq_id'
および Index_name< ;>'primary'
table_name、index_name でグループ化
) b.table_name および b.index_name=a.index_name および b.index_cols=a.index_cols
ここで、b.index_name は null;





以上がさまざまな開発環境と運用環境における MySQL インデックスの比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。