SQLなら俺に訊け [無断転載禁止]©2ch.net (457レス)
SQLなら俺に訊け [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1499985653/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
17: デフォルトの名無しさん [sage] 2017/11/04(土) 01:14:38.64 ID:tY9TOSMT ちなみに記事は古いんですが、複数のselectをbegin/endで囲むことも出来るっぽいんですよね、、、 https://stackoverflow.com/questions/7349189/optimizing-select-with-transaction-under-sqlite-3 私が出来ないのは、こちらの環境の問題でしょうか? PHP経由でのsqlite3.15.1と、コマンドラインの3.21.0の両方で駄目です。 http://mevius.5ch.net/test/read.cgi/tech/1499985653/17
157: デフォルトの名無しさん [sage] 2021/12/24(金) 19:31:42.64 ID:unjC7EWw お早い回答ありがとう。 もっと色々試すが取り急ぎ。 新案1: SELECT CASE WHEN col0 LIKE 'str' THEN 0 WHEN col1 LIKE 'str' THEN 1 ELSE -1 END AS col,target FROM sometable WHERE col>=0; explainでは32、他だと文法エラーらしいがSQLiteだと通る。(参考 https://rainbow-engine.com/sql-howto-caseresult-where/) explain query plan では 0|0|0|SCAN TABLE tags_bulk VIRTUAL TABLE INDEX 0: 新案2: SELECT col,target FROM (SELECT CASE WHEN col0 LIKE 'str' THEN 0 WHEN col1 LIKE 'str' THEN 1 ELSE -1 END AS col,* FROM sometable) WHERE col>=0; 他ではこう書けと言われているもの。 explainでは32で、見た目中身も同じ。explain query plan も全く同じ。 http://mevius.5ch.net/test/read.cgi/tech/1499985653/157
162: デフォルトの名無しさん [sage] 2021/12/25(土) 19:58:56.64 ID:GPUeNtJx NOT MATCH が使えない。(Error: unable to use function MATCH in the requested context) ただし動的エラーで、2つ目のクエリでcol1にMATCHの後、col0にNOT MATCHのチェックで落ちるようだ。 CASEの中でも使えないし、やはりMATCHはインデックスのようだ。 ところでMATCH NOTは使える。 新案4: MATCH NOT SELECT 0,target FROM sometable WHERE col0 MATCH 'str' UNION ALL SELECT 1,target FROM sometable WHERE col1 MATCH 'str -col0:str'; これでexplainは20、explain query plan は以下。 1|0|0|SCAN TABLE sometabke VIRTUAL TABLE INDEX 9: 2|0|0|SCAN TABLE sometable VIRTUAL TABLE INDEX 11: 0|0|0|COMPOUND SUBQUERIES 1 AND 2 (UNION ALL) 当面はこの新案4で行く予定。 http://mevius.5ch.net/test/read.cgi/tech/1499985653/162
255: デフォルトの名無しさん [sage] 2024/04/15(月) 14:00:04.64 ID:YG3lrvG/ >>252 sqliteの構文図見直したらしっかりselect-stmtってありますねえ… >>253 まさに求めてたやつです、どうも 各処理系のパーサも見較べるとBison向けでルール/アクションの羅列のpsqlの奴が一番わかり易かった https://github.com/postgres/postgres/blob/master/src/backend/parser/gram.y psql用だけど拡張や高度な機能を気にする段階に無いので、ここから必要そうなのを拾い始めました sqliteのパーサは中でゴチャゴチャ処理してるけど、psqlのパーサはparser/*.cへアクション内で呼ぶ関数がキレイに分離されていて、記述的命名から意味論まで分かるお手本のようなデザインですね 座右の文法リファレンスとして印刷してそのまま使えそうな出来栄え http://mevius.5ch.net/test/read.cgi/tech/1499985653/255
304: デフォルトの名無しさん [sage] 2024/11/03(日) 18:54:12.64 ID:sFUWrMLA >>303 上級者でもあるあるだけどね デメリット大きいけどDBに入れたら入れたで便利なことも多いんだよね もっと良かったこと探しをしろ http://mevius.5ch.net/test/read.cgi/tech/1499985653/304
310: デフォルトの名無しさん [] 2024/11/06(水) 08:23:55.64 ID:spMsN6R2 >>299 RDBでデータ型が画像データというデータ型は聞いたことがない。 RDBは画像データのバイナリデータか、画像データファイル形式に近いラージオブジェクト型。 単に画像データファイルへのリンクが入っているだけという設計もある。 http://mevius.5ch.net/test/read.cgi/tech/1499985653/310
346: デフォルトの名無しさん [] 2024/12/25(水) 17:53:18.64 ID:YmcCoB80 >>343 SELECT句よりも先にWITH句を書くので、SELECT句が先ではない。 http://mevius.5ch.net/test/read.cgi/tech/1499985653/346
348: デフォルトの名無しさん [] 2024/12/25(水) 17:58:44.64 ID:YmcCoB80 SQLを適当に書く人間が増えて、めちゃくちゃなシステムだらけになった。 同じカラムが、同じカラムがというなら、結合したビューでも用意しとけよw http://mevius.5ch.net/test/read.cgi/tech/1499985653/348
444: デフォルトの名無しさん [sage] 2025/02/10(月) 12:41:14.64 ID:y2n5AJNm ベンダー違っても中身は全部Redisという場合もあるし単純なセッション管理にKVSを使うとかならベンダー違っても基本的に同じ設計になるしユースケース次第でいろいろ NoSQLって言うだけだとリレーショナルじゃないくらいの意味しかなくて広すぎるから細かい話は一括りにはできない http://mevius.5ch.net/test/read.cgi/tech/1499985653/444
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.022s