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は元のタグのイメージの再タグ付けと削除を実装します

推薦する

Vue3+Vantコンポーネントを使用してアプリの検索履歴機能を実装する(サンプルコード)

現在、新しいアプリプロジェクトを開発中です。私にとっても初めてのアプリ開発です。チームで調査と検討を...

JS 日付コントロール My97DatePicker の基本的な使い方

My97DatePicker は非常に柔軟で使いやすい日付コントロールです。使い方はとても簡単です。...

Linux での MySQL 5.6 バイナリのインストール プロセス

1.1 バイナリインストールパッケージをダウンロードするhttps://dev.mysql.com/...

jQueryはドロップダウンメニューのスライド効果を実現します

Web ページを作成するときに、クールでスムーズなドロップダウン メニューが必要になることがあります...

Idea で Tomcat のソースコードデバッグを開始し、デバッグのために Tomcat に入る方法

idea 開発ツールを使用してコードをデバッグする場合、Java Web プロジェクトで、Web コ...

MacOS での MySQL 8.0.18 のインストールと設定方法のグラフィック チュートリアル

この記事では、MacOSでのMySQL 8.0.18のインストールと成功したコマンドライン操作を記録...

aタグ疑似クラスの機能と記述順序は何ですか?

a タグ疑似クラスの役割: 「:link」: 訪問されていないタグの状態。 「:visited」: ...

Linux でソースインストールされたパッケージを簡単に削除する方法

ステップ1: Stowをインストールするこの例では CentOS を使用しているため、拡張 EPEL...

jQueryはフォントサイズ調整ケースを実装します

この記事では、フォントサイズを調整するためのjQueryの具体的なコードを参考までに紹介します。具体...

Vueのカスタムディレクティブの詳細なガイド

目次1. カスタム指示とは何ですか? 2. 指示をカスタマイズする方法フック機能3. 応用シナリオ入...

Vue マウスホイールスクロール切り替えルーティング効果を実装する方法

ルート ルーティング コンポーネント (アプリの下のルート ルーティング コンポーネント。子コンポー...

vue-nuxt ログイン認証の実装

目次導入リンク始めるコードを読み進めてくださいプロキシ設定傍受を要求する異なるプレフィックスを持つイ...

ウェブフロントエンドエンジニアにおすすめのヒント

まず、Webフロントエンドエンジニアの価値についてお話ししましょう。現在、Web製品のインタラクショ...

MySQL 子テーブルで外部キー制約チェックを無効にする方法

準備する:教師テーブルと生徒テーブルを定義し、生徒テーブルで教師テーブルIDを参照します。テーブルt...

VMware15 仮想マシン ブリッジ モードでインターネットにアクセスできない問題の解決方法

説明 ソリューションVMware 15 仮想マシン ブリッジ モードではインターネットにアクセスでき...