問題タブ [sqlitemanager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
datetime - SQLite Managerのdatetime()
CSVからインポートした一部のデータで日時が機能しない理由がわからないようです。datetimeタイプの列TIMESTAMPがあります。
GPS制限1からTIMESTAMPを選択<-これにより、時刻が表示されます。 "6/29/2009 00:00:00" GPS制限1からdatetime(TIMESTAMP)を選択<-これにより、SQLiteマネージャーにピンクのフィールドが表示されます。これは空のようです。 。GPS制限1からdatetime('now')を選択します<-これにより、現在の日付と時刻がわかります。("2012-12-19 20:45:17")他のデータとはフォーマットが異なります-データ型の問題はありますか?
何が起こっている?「タイムスタンプ」データは実際にはDATETIMEオブジェクトに変換されませんでしたか?なぜテキストとして保存されるのですか?これを修正する方法はありますか?
sql - SQL 初心者: 現在の日付を SQL クエリの変数として使用する
Excel を使用して 2 つの列を作成しました。column1
DATES をcolumn2
含み、値を INT として含みます。SQLite Manager を使用してテーブルを CSV としてインポートしました。私はDBに接続しており、テキストのみを含む他のクエリに成功して使用しています。ここで、column1 に表示されている現在の日付に対応する column2 の INT を選択したいと思います。したがって、毎日 SQL クエリが実行されると、新しい現在の日付に基づいて自動更新されます。利用した
ただし、null(空白、何もない)を返しますが、使用すると
rowid1 の column2 に INT を返しますが、使用すると
rowid3 の列 2 に INT を返します。
したがって、DB は機能しています。ただし、現在のシステム日付を column1 の正しい値に関連付けることができないという問題があります。CSVのインポートは可能ですか?SQLite にデータ型を VARCHAR または DATE と INT 以外の何かに変更しましたか?
java - SQLite マネージャー、FireFox にアドオン
私はデータベースが初めてで、現在取り組んでいるプロジェクトにデータベースを使用する必要があります。次の質問があります。
SQLite マネージャーを使用して Java でデータベースを作成し、完全なプログラムの jar ファイルを生成するとします。このプロジェクトをインストールするには、このプログラムをインストールするすべてのコンピューターに、常に FireFox 用の SQLite Manager アドオンが必要です。GUIでプログラムのデータベースに物を追加および削除する機能があるにもかかわらず。
java - サーバー上の SQLITE マネージャー
SQLITE マネージャー データベースをサーバーに取得できるかどうか疑問に思っていましたか? これが意味することは、Java プロジェクトでプログラムを完成させ、そのプロジェクトのインストーラーを作成するということです。管理者権限を持つ任意のオペレーティング システムで実行されている任意のコンピュータからダウンロードすると、接続の問題なしにデータベースにアクセスできます。さらに、プログラムにログインする人は誰でも完全なデータベース接続でログインできます。
これを行う方法はありますか?また、プログラムをインストールしようとしているユーザーに、データベース用の追加プログラムをインストールさせたくありません。さらに、このプログラムを、Firefox Web ブラウザーに SQLITEManager プラグインがないコンピューター、またはコンピューターに firefox がインストールされているコンピューターでも動作させたいと考えています。
また、管理者が、データベースが存在するオンライン サーバー上のあらゆるものを編集できるようにしたいと考えています。これが SQLITE Manager で不可能な場合、これを実行できるだけでなく、sqlite プログラム用に既に作成されたコードを使用して動作するデータベースをお勧めできますか?
performance - SQLiteを使用したcmd.ExecuteReader()は低速ですが、SQLiteManagerでは高速です
SQLiteをローカルデータベースとして使用する予定でした。SQLite Manager(Firefox AddIn)で「groupby」と「orderby」を使用して複雑なSelectステートメントを作成しました。クエリはSQLiteManagerで約600ミリ秒で実行されます。私のC#アプリケーションでは、同じクエリを使用してSQLiteCommandを作成しましたが、cmd.ExecuteReader()メソッドが完了するまでに約60秒かかります。System.Data.SQLite.dllを使用しています。「ANALYZE」コマンドも「VACUUM」コマンドも実行時間を改善しませんでした。
SQLite Managerと同じ実行時間を取得する方法を教えてもらえますか?
マティ
iphone - SQLite Manager - テーブルを別の .sqlite データベースにコピーする
SQLite データベースを使用した最初の iOS アプリに取り組んでいます。プロジェクトには2つのデータベースがあり、最初のデータベースにはテーブルが1つしかなく、もう1つはメインデータベースとして機能しています。最初のデータベースから2番目のデータベースにテーブルをコピーして、これらのデータベースを1つ(2番目のデータベース)にマージしたいと思います。最初のデータベース テーブルには、32K を超えるレコードが含まれています。だから、テーブル全体をデータでコピーしたい。
firefox の SQLManager AddOn を使用してこれを実現したいと考えています。
何か案が?
sqlite - MAMP Pro の SQLiteManger パネルで空白のページが表示される
最近、GUI を介して SQLite データベースを管理することを検討し始めました。MAMP Pro にバンドルされている SQLite Manager を試してみたいと思っていますが、そのパネルから (「Webstart」を介して) ツールにアクセスしようとすると、空白のページが表示されます。PhpMyAdmin と同じように事前に構成されていると想定していましたが、どこから始めればよいでしょうか? MAMP Pro 1.0 を使用しています。
sqlite - SQLite Manager を使用して複合主キーを作成する方法
SQLite テーブルの 1 つで作業しているプロジェクトでは、2 つの外部キーで構成される複合主キーが必要です。レコードの取得は 2 つの条件に依存します。大学のコースとそのコースに登録されている学生。
このテーブルの複合キーを作成できる SQLite マネージャーのどこにも表示されません。たぶん私はそれを見ていないだけかもしれませんが、どんな助けでも大歓迎です。
ありがとう。
java - sqlite と Java で ERRO null
NetBeans で Java アプリケーションを開発しています。データベースsqliteに接続しましたが、完全に機能します。今、私はデータベースのフィールドを削除しようとしています:
このメソッドを実行すると、次のエラーが発生します。
...そして、フィールドはデータベースで削除されません。
この行DELETE FROM restaurante WHERE id_restaurante = 4
をコピーして、sqlite マネージャー (アドオン Firefox) で削除しようとすると、完全に機能します。
何か案は?
sql - JDBC を使用した SQLite クエリは、Firefox SqliteManager プラグインよりもはるかに遅くなります
Firefox の SQLiteManager プラグインでテストしたクエリに問題があります。
この特定のクエリは、Firefox プラグインでは約 60 ミリ秒で実行されますが、最新の Sqlite JDBC ドライバーを使用して Java で同じクエリと同じデータベースを使用すると、実行になんと 3.7 秒かかります。
Firefox プラグインは、正常に動作する他のクエリよりも少し高速であることがよくあります (上部で 50 ミリ秒速く、JDBC の方が速い場合もあります)。これはおそらく、接続を作成して結果をリストに追加するオーバーヘッドですが、この特定のクエリのパフォーマンスの違いはばかげています。
クエリは次のとおりです。
明らかに、遅い部分は「LIKE 'Juniors%'」ですが、プラグインではなく Java で遅い理由を説明していません。
EXPLAIN QUERY PLANを実行すると、firefox プラグインが Leagues テーブルに次のインデックスを使用していることがわかります: Columns: "Season, Name, RealName" (RealName はこのクエリではまだ使用されていません)。
Java でEXPLAIN QUERY PLANを実行すると、リーグ テーブルに使用されるインデックスは INTEGER PRIMARY KEY インデックスであり、ここに問題があると思います。
Java で上記のクエリを実行し、同じ接続を使用して同じクエリをさらに 2 回実行しますが、2 回目はl1.Name LIKE 'Juniors%の部分をp1.Sex = 1およびp1.Sex = 2に置き換えます。 . これらの最後の 2 つのクエリはどちらの場合も高速であり、問題がl1.Name LIKE 'Juniors%'に起因することをさらに証明しています。
すべてのテーブルに主キーがあり、それを必要とするすべての列に外部キーがあります。多くの繰り返しフィールドがあり、さらに高速にするためにインデックスを追加することにしたため、古いデータベースをゼロから再設計しているため、他にも多くのインデックスがありますが、この特定のケースでは、特に1つで動作するため、行き詰まっていますケースですが、別のものではありません。テーブルのインデックスを積極的に作成しすぎたために、マネージャーが正しいインデックスを選択するのが難しくなった可能性はありますか?
テーブル、列、クエリなどの詳細については、お気軽にお問い合わせください。
編集
Firefox プラグインは SQLite 3.7.17 を使用し、JDBC ドライバーは SQLite 3.8.0 を使用します。3.7.20 JDBC ドライバーを使用してみましたが (3.7.17 ドライバーへのダウンロード リンクが見つかりませんでした)、同じパフォーマンスの問題が発生し、他のクエリのパフォーマンスが低下したため、3.8 に切り替えました。 .0.
ベンチマーク時にミスを犯したため、パフォーマンス時間を編集しました。以前の時間は、クエリを複数回実行するためのものでした。したがって、Firefox ではクエリを 1 回実行するのに約 60 ミリ秒かかりますが、Java では 3600 ミリ秒かかるため、60 倍以上かかり、私のアプリケーションでは受け入れられません。
以下は、Java クエリ実行からの詳細な EXPLAIN QUERY PLAN です。列は、SelectId、Order、From、Detail の順に並んでいます。
ご覧のとおり、リーグは整数の主キーを使用するため、「名前」を含むインデックスは完全に無視されます。
Firefox プラグインの EXPLAIN QUERY PLAN は次のとおりです。
ご覧のとおり、テーブルの順序も同じではなく、実際には、すべてのテーブルが Java の PRIMARY KEY インデックスを使用しているのに対し、Java では「より良い」インデックスと思われるものを使用していますが、これは奇妙だと思います。
* JOIN Leagues l1 の後でINDEXED BY idxLeaguesRealName * を使用してみましたが、パフォーマンスは同じままです (おそらく、SEARCH TABLE Leagues が最初のテーブルではなく Java で一番下にあるため)。
idxLeaguesRealName は、@CLによって投稿されたこのリンクの 5.3 によると、Season、Name、RealName のインデックスです。シーズンは 230 の異なるリーグに対して約 4 つの異なる値しかとらないため、低品質のインデックスです。ただし、クエリを実行する前にANALYZEコマンドを実行したため、そのリンクによると、低品質のインデックスを使用する問題を修正する必要があります。
私が試したもう 1 つのことは、主キー フィールド (ID、季節、名前など) も使用する新しいインデックスを作成することですが、クエリ プランナーはそれを使用しません。ユーザーが作成したインデックスのフィールドの 1 つとして主キーを配置することが良い考えかどうかもわかりません。クエリを実行する2つの方法のパフォーマンスの違いを理解していないため、ここで迷っているため、考えられることはすべて試しています。
ほとんど同じである他のクエリに関する追加情報
前述したように、l1.Name LIKE 'Juniors%'がp1.Sex = 1またはp1.Sex = 2に置き換えられていることを除いて、ほぼ同じ他のクエリを実行します。これらのクエリは、Firefox ではそれぞれ約 62 ミリ秒で実行され、Java では 52 ミリ秒で実行されます。これは、クエリ プランナーがこの同様のクエリでうまく機能することを意味します。
JDBC では、EXPLAIN QUERY PLAN は次の出力を提供します。
これは、元のクエリの計画とは大きく異なります。これは、他の場合のように PRIMARY KEY インデックスのみを使用するよりも意味があると思われるインデックスを使用するためです。
確認したところ、アプリケーションに実行速度の遅い他のクエリがあります。すべての遅いクエリは 'l1.Name LIKE 'Juniors%' を持つもので、それ以外はすべて非常に高速に実行されます。
LIKEを使用するクエリの実行が遅いことを読みました。これにより、フィールド「IsJuniorLeague」を追加して代わりにそれと比較するなど、いくつかのテーブルの設計方法を切り替えることになり、おそらく問題が解決するでしょうが、 Firefoxプラグインのように、これらのクエリを十分に高速にすることが可能です。通常、アプリケーションでクエリを試す前にまずFirefoxでクエリをテストするため、舞台裏で何が起こっているのかを本当に理解したいと思っています。