MYSQL 文字列強制変換メソッドの例

MYSQL 文字列強制変換メソッドの例

序文

2 つのテーブル内の同じフィールドの型が異なっていたり、エンコード タイプが異なっていたりするため、クエリではインデックスが使用されず、速度が非常に遅くなります。

強制移送

直接的な例を挙げてみましょう。

テーブルIDはint型、テーブルIDはchar型です

intに変換する場合は符号付き

charに変換する場合はchar

注意: 変換するタイプは、左結合後のテーブルのフィールドである必要があります。そうでない場合、インデックスは使用されません。

結合テーブルのフィールド タイプが不一致であるため、インデックスは使用されません。

A から t.* を選択し、B t1 を t.id = t1.id で結合します。

最初の変換タイプ

A から t.* を選択し、B t1 を t.id に結合します = cast(t1.id を署名済みとして)

2番目の変換タイプ

A から t.* を選択し、B t1 を t.id に結合します = convert(t1.id, signed)

アブ=fg

しかし、2 つのフィールド b と g には異なるソート規則があります。b は utf8_general_ci、g は utf8_unicode_ci です。これらが等しい場合、SQL はエラーを報告します。そこで、上司に助けを求めました。書き方は次のとおりです。

変換 (utf8 を使用) COLLATE utf8_unicode_ci = fg

テーブルにインデックスが付けられていない場合、フィールドはクエリ内で変換されます。例:

a.*からaを選択
LEFT JOIN (SELECT b.*, CONVERT (ab USING utf8) COLLATE utf8_unicode_ci = fg FROM b) a ON ab = fg

CONVERT(user_id USING utf8) COLLATE utf8_general_ci as user_id

MYSQL 文字列変換に関するこの記事はこれで終わりです。MYSQL 文字列変換の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQLの日付文字列タイムスタンプ変換の詳細な説明
  • PHP で画像 gif、jpg、または mysql longblob または blob フィールド値を 16 進文字列に変換する
  • mysql 文字列 '123' を数値 123 に変換する例

<<:  4つのReactコンポーネントにおけるDOMスタイル設定の詳細な説明

>>:  Dockerは元のタグのイメージの再タグ付けと削除を実装します

推薦する

DockerでRabbitMqの共通クラスタとミラークラスタを構築する詳細な操作

目次1. RabbitMqの動作環境を構築する1.検索を通じてrabbitmqイメージを照会する2....

MySQL グリーン解凍バージョンのインストールと設定手順

手順: 1. MySQLデータベースをインストールする1. MySQL-5.6.17-winx64....

JavaScript の高度なクロージャの説明

目次1. 閉鎖の概念追加の知識ポイント: 2. 閉鎖の役割: 3. 閉鎖例3.1 liをクリックする...

nginx を使用して 1 つのドメイン名で複数の Laravel プロジェクトを構成する方法の例

背景会社のサブプロジェクトが増えるにつれて、さまざまなサイズのプロジェクトが10個以上になります(バ...

a タグをクリックして入力ファイルのアップロードダイアログボックスを表示する方法

htmlコードをコピーコードは次のとおりです。 <SPAN class=tag><...

UbuntuでGRUBの起動時間を変更する

grubの起動時間を変更するためのオンライン検索は基本的に/etc/default/grubを変更す...

MySQL 整合性制約の例の詳細な説明

この記事では、MySQL の整合性制約について説明します。ご参考までに、詳細は以下の通りです。メイン...

CentOS 7.6 仮想ネットワーク カードのバッチ追加、変更、削除操作の紹介

1 カーネルにtunモジュールがあるかどうかを確認する modinfo tun modprobe t...

デザイン理論: なぜ私たちは間違った場所を見ているのでしょうか?

数日前、バスで仕事に行きました。バスのカードリーダーの実際の使用シーンを実際に見て、カードリーダーの...

Mysql は最大接続数を表示し、最大接続数を変更します

MySQL 最大接続数の表示と最大接続数の変更1. 最大接続数を確認する '%max_con...

Vue の計算プロパティの詳細な説明

目次補間式方法計算された要約する今日は、Vue の計算プロパティについてお話ししましょう。計算プロパ...

Discuz! フォーラムに設定オプションを追加する方法

Discuz! フォーラムにはバックグラウンドで多くの設定オプションがあり、これらの設定オプションを...

docker を使用して influxdb と mongo をデプロイするための一般的なコマンド

Docker ベースのデータベースをデプロイするsudo docker pull influxdb ...

Vue3における非親子コンポーネント通信の詳細な説明

目次最初の方法アプリ.vueホーム.vueホームコンテンツ.vueデータの応答性レスポンシブプロパテ...

CSS の画像パスの問題に関する議論 (同じパッケージ/異なるパッケージ)

CSS ファイルでは、背景を使用する、つまり背景画像を追加する必要がある場合があります。これは通常、...