質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

Q&A

解決済

6回答

3875閲覧

【DB全般】参照のみ利用の場合、一番高速なDBは?

pecchan

総合スコア555

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

0グッド

0クリップ

投稿2016/07/15 00:15

編集2016/07/15 00:32

プログラミングというよりは、DBの話になり大変恐縮ですが・・・。

データは、定期的にCSVで流し込んで作成します。
その際、トランザクションも不要です。
件数は10万件ほどになる見込みです。

主に参照のみで利用します。
SQLを直に組みます。
日付の範囲指定や絞込が多いです。

当面は、サーバでなくデスクトップPCを使い、
限界を感じたらサーバに置き換える予定です。

このような場合、どのデータベースが最も適しているでしょうか?

今までSQLServerしか経験がなく分かりません。

MySQLのMyISAMが一般的なのでしょうか?

それともあまり大差ないでしょうか?

どうかアドバイス宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答6

0

ベストアンサー

その要件であればSQLite一択でしょう。
ISOで定義されているSQL文は一通りカバーしていますし、超高速。
ファイルとライブラリなので取り回しも超楽で作ったり壊したりが簡単に出来るのでテストやデバッグも楽です。

ただし、SQLiteはDate型がないので、Indexを効かせるには一工夫必要です。
SQLite3でdatetimeなTEXTをなるべく高速に探す - ポクポク

投稿2016/07/15 02:16

miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pecchan

2016/07/15 20:24

有難う御座います。 今回SQLiteにしようと思います。 ご親切にDate型が無いとの情報まで有難う御座います。 注意して進めていきます。 有難う御座いました。
guest

0

RDBには詳しくないですが、ディスクアクセスよりインメモリと呼ばれる方式が早いのでは?

rdbms インメモリ 10万件 で検索したら SQLite が予想以上に他を圧倒し高速 なんて記事も見つかりましたよ。

もちろんメモリーが十分にあればですが

投稿2016/07/15 01:05

Mr_Roboto

総合スコア2208

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

投稿2016/07/15 00:35

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pecchan

2016/07/15 00:36

有難う御座います。 情報不足、申し訳ございません。 データ量や実行したいSQLを追加致しました。 参考URL有難う御座います。 今から1つずつ見させていただきます。
Orlofsky

2016/07/15 01:19

1億件以上のテーブルがいっぱいあって頻繁にデータが更新されたり、アクセスが集中するならともかく、定期的の期間の情報がありませんが、短時間でデータを取り込み直すとか、テーブルがいくつあるのか情報がありまえせんが、10万件程度なら適切な索引が設定してあればどのDBを使ってもたいした違いはないでしょう。とりあえず使い慣れたDBで作ってみていいのでは?それで遅ければ掲示版に質問されては?
guest

0

よっぽどな量ではない限り体感での大差はあまりないかもしれません。
手元のPCで管理したいのであれば、
AWSのDynamo(Local)をおすすめします。
Dynamo Local

こちらもNoSQL系ですので、試してみてはいかがでしょうか。

投稿2016/07/15 01:01

mty.ad

総合スコア145

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pecchan

2016/07/15 01:03

有難う御座います。 そうなんですね、安心しました! AWSのDynamoというもの初めて知りました。 勉強になります! しかしながら今回は、SQLの発行が主になります。
mty.ad

2016/07/15 01:09

失礼しました。RDB限定なのですね。 でしたらMySQLかMariaDBでしょうね。 最近のCentOSなどではMariaDBが標準らしいです。基本MySQLベースなのでSQL発行はほぼ一緒だと思います。
guest

0

きくところによると NoSQL系が早いって印象
http://www.atmarkit.co.jp/ait/articles/1211/05/news007.html

RDB系だとおっしゃる通りスかね。
ただし、スケールが上がってくるとどうでしょう?
あとは、どれくらいのグレードでハードを用意できるかかなあ。

投稿2016/07/15 00:30

takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pecchan

2016/07/15 00:34

有難う御座います。 ハードに関して記載してませんでした、すいません。 当面はデスクトップPCの予定です。 限界を感じたらサーバを購入する予定です。
guest

0

「参照のみ」の定義次第でしょうね
検索範囲の指定や、条件による絞込もなく、本当に参照のみであれば
テキストファイルが一番はやいです

投稿2016/07/15 00:25

yambejp

総合スコア114585

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pecchan

2016/07/15 00:35

有難う御座います。 参照のことを少し詳しく追記しました。 仰るとおり検索範囲の指定や、条件による絞込がメインになります。 これらが無く、本当に参照だけならテキストが最も高速なんですね(*_*) 勉強になります!
yambejp

2016/07/15 02:23

10万件程度のデータで、日付など範囲指定などであれば MySQLのMyIsamが相当早いと思います 最近はめんどくさいのでInnoDBばかり使っていますが パフォーマンス的にはMyIsamのほうがよいと思います。 ただしMyISAMは更新時にテーブルロックになるので、更新が頻繁だと 待ち時間が増えるかも・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問