sql >> データベース >  >> RDS >> Mysql

SQLiteはMySQLよりも高速ですか?

    最初のアクセス時間はSQLiteでより速く表示されます

    SQLiteのアクセス時間は最初は速く表示されますが、これはオンラインのユーザー数が少ない場合です。 SQLiteは非常に単純なアクセスアルゴリズムを使用しており、高速ですが同時実行性を処理しません。

    データベースが拡大し始めると、同時アクセスの量が減少し始めます。サーバーが複数のリクエストを処理する方法は完全に異なり、より複雑で、高い同時実行性のために最適化されています。たとえば、SQLiteは更新が行われている場合はテーブル全体をロックし、注文をキューに入れます。

    RDBMSは、よりスケーラブルにするために多くの追加作業を行います

    たとえば、MySQLは、単一のユーザーでもアクセスキューを作成し、時間ごとに単一のユーザーのみを許可するのではなく、テーブルを部分的にロックし、他の同時アクセスでデータベースにアクセスできるようにするためのその他の非常に複雑なタスクを実行します。

    これにより、単一ユーザーの接続が遅くなりますが、将来、数百人のユーザーがオンラインになると、効果があります。この場合、SQLiteの単純な「テーブル全体をロックして単一のクエリを実行する」手順でサーバーが占有されます。 。

    SQLiteは、シンプルさと自己完結型のデータベースアプリケーションのために作られています。

    一度にデータベースで10回の同時アクセス書き込みが期待される場合、SQLiteはうまく機能する可能性がありますが、SQLiteを使用してデータベースにデータを常時書き込みおよび読み取る100ユーザーアプリケーションは必要ありません。このようなシナリオ向けに設計されたものではなく、リソースを無駄にします。

    TeamSpeakのシナリオを考えると、SQLiteに問題がない可能性があります。一部のビジネスでは問題ありませんが、一部のWebサイトでは、新しいコンテンツを追加する場合を除いて、読み取り専用のデータベースが必要です。

    この種の用途では、SQLiteは安価で、実装が簡単で、自己完結型の、仕事を成し遂げる完璧なソリューションです。



    1. SELECTでさえエラーを返すようにMySQL行を意図的にロックするにはどうすればよいですか?

    2. データベースメールアカウントをプロファイルに追加する(SSMS)

    3. Oracle BLOBフィールドからファイルを抽出するにはどうすればよいですか?

    4. SQLiteでワードラップを有効にする2つの方法