1928 件中 461 - 470 件を表示
« 前の 10 件 | 次の 10 件 »
Displaying posts with tag: MySQL (reset)
" _ " or " % " - Which is faster? (Like predicate in MySQL's sql)

MySQL Advent Calendar 2019 の22日目です。

MySQLのあいまい検索時のLIKEで使える「_」と「%」について調べてみました。

あいまい検索時に使う「_」と「%」

会社でlike 検索した際に「_」と「%」で速度差ってあるのかな?という話になり、

こういうの調べたことある人って世の中に結構いるんじゃない?と調べてみたんですが、なかなか出てこないので自分で調べてみました

検証について

  • カラムはとりあえず文字列としました
  • セカンダリインデックスの有無とNULLの有無で比較
[さらに読む]
MySQLのDROP DATABASEでWARNINGが表示されない事象

 DROP DATABASE IF EXISTS ... で存在しないデータベースをドロップしようとしたときに、WARNING が表示されない事象があったので紹介します。

IF EXISTS (テーブルの場合)

 MySQLDROP文には "IF EXISTS" というオプションがあり、たとえばテーブルの場合は、以下のように使います。

mysql> use test
mysql> DROP TABLE IF EXISTS mytable999;                                                                                             
Query OK, 0 rows affected, 1 warning (0.02 sec)

 mytable999 というテーブルは存在しませんが、IF EXISTS 句のおかげでエラーにはならず正常終了しています。

[さらに読む]
MySQL 8.0時代のSET GLOBALとかSET PERSISTに必要な権限

TL;DR

  • オンライン変更は SYSTEM_VARIABLES_ADMIN 権限。 SUPER は非推奨。
  • SET PERSIST_ONLYSYSTEM_VARIABLES_ADMIN 権限 && PERSIST_RO_VARIABLES_ADMIN 権限

ふとコードを読んでいる時に SET PERSIST_ONLY には SUPER 権限は絡んでなさそうなことに気が付いたので試してみる。

  /* for dynamic variables user needs SUPER_ACL or SYSTEM_VARIABLES_ADMIN */
if (!static_variable) {
if (!sctx->check_access(SUPER_ACL) &&
!(sctx->has_global_grant(STRING_WITH_LEN("SYSTEM_VARIABLES_ADMIN"))
.first)) {
my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0),
"SUPER or SYSTEM_VARIABLES_ADMIN");
return 1;
}
} else {
/*
[さらに読む]
Dive into Binary logs

この記事はMySQL Advent Calendar 2019の9日目の記事です。

binary logとはなにか

binary log(以降binlog)はMySQL serverで実行した更新をイベントという形式で出力したログ。トランザクションのコミット時に出力され、コミットの順番で1トランザクションの変更がシーケンシャルに出力されている。
MySQLではこれを利用することでreplicationやrecoveryを行っている(server crash後のcrash recoveryには …

[さらに読む]
MySQL 8.0予約語問題にも使える、performance_schemaからエラーになったクエリーをたたき出す方法

TL;DR

  • events_statements_*テーブルmessage_text カラムにエラーメッセージが入っている
  • MySQL 5.6とそれ以降で使える
    • こんな便利なものに気が付いていなかった…

注意

[さらに読む]
解決:高緯度ほど緯度1度が広くなる謎(追記あり)

数日前の日記の中で、「緯度1度あたりの長さは、緯度の高低に依らず一定と予想して、MySQLで計算してみたところ、差が出てびっくり」という実験結果を紹介しました。
http://sakaik.hateblo.jp/entry/20191202/mysql_gis_metre_per_degree

これは、地球が(そして今回計算に使用した JGD2011が)真球ではなく回転楕円体だからということに起因するものであると、すぐに想像できましたが、いやまて、よく見ると高緯度のほうが1度あたりの距離が長い。 

mysql> SELECT id, ST_Distance(pos1, pos2)  FROM g3 ORDER BY ID;
+------+-------------------------+
| id   | ST_Distance(pos1, pos2) |
+------+-------------------------+
|    0 | …
[さらに読む]
InnoDB FTSで検索できない文字があるときは innodb_ft_enable_stopword のせいかも

InnoDB FTS シリーズが続きます。今回は innodb_ft_enable_stopword についてです。

mita2db.hateblo.jp

mita2db.hateblo.jp

TL; DR

  • ngram で、yakitori がヒットしない
mysql> SELECT * FROM fts_ngram;
+----+----------+
| id | c1       |
+----+----------+
|  1 | yakitori |
+----+----------+
1 row in set (0.00 sec)

mysql> SELECT * FROM fts_ngram WHERE MATCH(`c1`) 
> AGAINST('tori' IN BOOLEAN MODE);
Empty set (0.00 sec)
  • innodb_ft_enable_stopword が ON が原因

    • innodb_ft_enable_stopword は デフォルトでON
[さらに読む]
ConoHaの上でひたすらMySQLをビルドする簡単なおしごと in 2019年

この記事は ConoHa Advent Calendar 2019 の7日目の記事です。 6日目は reasonset さんの 【ConoHaアドベントカレンダー 2019】 高性能レンタルサーバー ConoHa WINGを本格的に使い倒す - Chienomi でした。大作。面白かった。 去年一昨年三年前 とひたすらConoHa VPS 1GBプランでMySQLをビルドしています。 今年も変わらずビルドをするわけですが、去年と比べてMySQL …

[さらに読む]
MySQL Technology cafe #6 でMySQLのGISの話をしてきました

 そんなわけで、12月5日に開催された Oracle Technology Cafe #6 にて、発表の機会をいただき、あんなことやこんなことを語ってきました。
 この2年間、色々なところでMySQLGISについてお話をしてきて、そろそろ「 …

[さらに読む]
Mroonga から InnoDB FTS への乗り換えを考えてみた

このエントリーはMySQL Casual Advent Calendar 2019 の7日目です。 実は、毎年 12 /7 日書いてます。

mita2db.hateblo.jp

mita2db.hateblo.jp

--

昨日は、@SHINOHARATTT さんでした。 ポケモンを題材にして論理設計を学ぶ というエントリーでした。楽しく学べて良いです!

qiita.com

--

本エントリーではMroonga と …

[さらに読む]
1928 件中 461 - 470 件を表示
« 前の 10 件 | 次の 10 件 »