私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【この先一体】MySQL 総合 Part15【どうなるの】

みんなの評価 : ○
レスフィルター : (試験中)
データベースをいくつか用意し、データを分散、必要なデータを適時読み取るってことできますか?
primary keyとunique keyをはっているidを見たのですが、これってprimarykeyのみと比べて検索速度に違いは出ますか?
primarykeyはuniquekeyをかねると記憶していたので検証された方いらっしゃいましたらご教示ください。
primarykeyはuniquekeyをかねると記憶していたので検証された方いらっしゃいましたらご教示ください。
試してみたいですが差を認識できるほど大規模な検証は時間がかかるので試したかたがいればとおもいました
一般的にはprimaryのみという認識であってますか?
一般的にはprimaryのみという認識であってますか?
INDEXなんてもし同じものに2つ以上ついていても
1つしか使われないんだから一緒だろう。
そもそも制約と索引の違いもわかってないのにそこを気にするのは間違ってるな。
1つしか使われないんだから一緒だろう。
そもそも制約と索引の違いもわかってないのにそこを気にするのは間違ってるな。
>>258
データベースの文字コードをシフトJISにする。
データベースの文字コードをシフトJISにする。
何で接続しているか知らんが、たとえば、JDBCとかだとユニコードに一旦変換されたりするんじゃね?
>>263
escapeだとか、prepareステートメントとか分かってる?
なんの言語つこてるか知らんけど、たいがいの言語のDB-driverには
それらの機能あるはずなんで、そこらへんちゃんと勉強しましょう。
escapeだとか、prepareステートメントとか分かってる?
なんの言語つこてるか知らんけど、たいがいの言語のDB-driverには
それらの機能あるはずなんで、そこらへんちゃんと勉強しましょう。
character_set_connectionは、
データベースにデータを格納しないSQLで使われるキャラクタセット。
mysql> set character_set_connection = cp932;
Query OK, 0 rows affected (0.00 sec)
mysql> select length('あ');
+---------------+
| length('あ') |
+---------------+
| 2 |
+---------------+
1 row in set (0.04 sec)
mysql> set character_set_connection = utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> select length('あ');
+---------------+
| length('あ') |
+---------------+
| 3 |
+---------------+
1 row in set (0.00 sec)
データベースにデータを格納しないSQLで使われるキャラクタセット。
mysql> set character_set_connection = cp932;
Query OK, 0 rows affected (0.00 sec)
mysql> select length('あ');
+---------------+
| length('あ') |
+---------------+
| 2 |
+---------------+
1 row in set (0.04 sec)
mysql> set character_set_connection = utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> select length('あ');
+---------------+
| length('あ') |
+---------------+
| 3 |
+---------------+
1 row in set (0.00 sec)
> また,character_set_connectionとcharacter_set_databaseが異なる場合,
> ある文字コードで設定されたデータベースに文字コードの異なるデータが
> 入るということになるんでしょうか?
(1) character_set_database
(2) show create databaseで出てくるcharacter set
(3) show create tableで出てくるdefault charset
(4) show create tableで出てくるカラムごとに設定したcharset
まずこの(1)、(2)、(3)、(4)は個別に設定できるので注意。
(1)は(2)で上書きされる。
(2)は(3)で上書きされる。
(3)は(4)で上書きされる。
格納時はcharacter_set_connectionが何だろうと、
(4)で格納される。(4)が設定してなければ(3)で格納される。
一度テーブルを作ってから(1)や(2)を変更して再起動しても
すでに格納したデータは変わらない。
> ある文字コードで設定されたデータベースに文字コードの異なるデータが
> 入るということになるんでしょうか?
(1) character_set_database
(2) show create databaseで出てくるcharacter set
(3) show create tableで出てくるdefault charset
(4) show create tableで出てくるカラムごとに設定したcharset
まずこの(1)、(2)、(3)、(4)は個別に設定できるので注意。
(1)は(2)で上書きされる。
(2)は(3)で上書きされる。
(3)は(4)で上書きされる。
格納時はcharacter_set_connectionが何だろうと、
(4)で格納される。(4)が設定してなければ(3)で格納される。
一度テーブルを作ってから(1)や(2)を変更して再起動しても
すでに格納したデータは変わらない。
ダンプをしたりするのをコマンドプロンプトでやってるのですが
オプション指定とかいろいろ知識も必要で手間もかかるので
ダンプとかダンプしたデータを戻したりができるフリーソフトってないですか?
Windowsです。
オプション指定とかいろいろ知識も必要で手間もかかるので
ダンプとかダンプしたデータを戻したりができるフリーソフトってないですか?
Windowsです。
ファイルだらけで何か問題?
ファイルシステムで済む事にDBを使うメリットは無いでしょ。
ファイルシステムで済む事にDBを使うメリットは無いでしょ。
>>276
はいって何だよ。出来んのかよ。さっきから何度も。何がはいなんだよ。
出来もしねえ奴が軽々しくはいなんて言うんじゃねえよ。
わかってんのかよ。はいって言う事の責任の重さを。
社会勉強のつもりでやってんだったら辞めろおまえ。
はいって何だよ。出来んのかよ。さっきから何度も。何がはいなんだよ。
出来もしねえ奴が軽々しくはいなんて言うんじゃねえよ。
わかってんのかよ。はいって言う事の責任の重さを。
社会勉強のつもりでやってんだったら辞めろおまえ。
2chの場合は明らかにファイルシステムの方が向いているだろ。
と言うか2chをデータベースで管理していると考えたり、例えてたり
する方が正直どうか?と思うが。
と言うか2chをデータベースで管理していると考えたり、例えてたり
する方が正直どうか?と思うが。
1スレッド最大1000コメントで、順次アクセスと追記だけ。
コメント間のリンクの管理もやらない。
これのどこにDBが必要になるんだよ。
コメント間のリンクの管理もやらない。
これのどこにDBが必要になるんだよ。
書き込みが多い(激しい)スレだと、ファイルロックじゃ持たないでしょ?
昔から、カウンタなんかでよく出た話
#落ちてもたいしたデータじゃないと言えばそれまでw
スレ一覧の更新順に表記なんかは、DBの方が楽だという発想がないの?
昔から、カウンタなんかでよく出た話
#落ちてもたいしたデータじゃないと言えばそれまでw
スレ一覧の更新順に表記なんかは、DBの方が楽だという発想がないの?
>書き込みが多い(激しい)スレだと、ファイルロックじゃ持たないでしょ?
現に2chが持っている事実について
>スレ一覧の更新順に表記なんかは、DBの方が楽だという発想がないの?
現実にはファイルシステムの方が楽な点について
正直>>285みたいな発想できるほうがエンジニアとしては致命的だと思うが。
現に2chが持っている事実について
>スレ一覧の更新順に表記なんかは、DBの方が楽だという発想がないの?
現実にはファイルシステムの方が楽な点について
正直>>285みたいな発想できるほうがエンジニアとしては致命的だと思うが。
>まあエラーが出たら書き込む側がリトライするし、その程度の信頼性でいいからな。
MySQLスレでこんな発言を聞くと凄くマヌケに感じる。
RDBMSを使ってトランザクション制御しようが、2chの仕様の「追記オンリー、1スレッド1000コメント」
の前にはRDBMS使う必然がないだろ。
つか、RDBMSで最新50取得とか次100とか全部読むをSQLを発行して結果セット取得しながら
HTMLに変換とかやるくらいなら、ファイルシステムを読みながら変換したほうが効率いい。
MySQLスレでこんな発言を聞くと凄くマヌケに感じる。
RDBMSを使ってトランザクション制御しようが、2chの仕様の「追記オンリー、1スレッド1000コメント」
の前にはRDBMS使う必然がないだろ。
つか、RDBMSで最新50取得とか次100とか全部読むをSQLを発行して結果セット取得しながら
HTMLに変換とかやるくらいなら、ファイルシステムを読みながら変換したほうが効率いい。
RDBMS覚えたてだと何でもDBに突っ込みたくなる物さ
わざわざDBを使って同期書き込みしたら、それこそ持たないと思うけどね
わざわざDBを使って同期書き込みしたら、それこそ持たないと思うけどね
>>285
中の人じゃないので「今」の仕様は知らないけど。
数年前は mmap() してた。
(だからdatサイズ制限とか{ある|あった})
最近はRAMDISK上に置いてるので、鯖落ちするとdatは
電子の藻屑になるケースが多い。
※↑は書き込みの多い実況系の設定
※普通の板はファイルキャッシュで間に合うらしい
中の人じゃないので「今」の仕様は知らないけど。
数年前は mmap() してた。
(だからdatサイズ制限とか{ある|あった})
最近はRAMDISK上に置いてるので、鯖落ちするとdatは
電子の藻屑になるケースが多い。
※↑は書き込みの多い実況系の設定
※普通の板はファイルキャッシュで間に合うらしい
2chはRDBMSの方が向いていると主張するヤツは試しに
実況鯖とかをMySQLで実装してみればいいんじゃね。
おそらく、マッハで鯖が落ちる。
実況鯖とかをMySQLで実装してみればいいんじゃね。
おそらく、マッハで鯖が落ちる。
>>293がしょぼいプログラムを書くから落ちるんだよ。
>>296
・カウンターってウェブページに表示するアクセスカウンターの事?
・データベースはプレーンな InnoDB を使うと考えて良いの?
・ファイルシステムは何を使っても良いの?
・どんなサイトで、可用性はどの程度まで担保すれば良いの?
・サーバの実装は単発の CGI なの? それとも永続的なプロセス?
プロセスのメモリ上に置いておいてどこにも書き出さないのが一番速いよ。
・カウンターってウェブページに表示するアクセスカウンターの事?
・データベースはプレーンな InnoDB を使うと考えて良いの?
・ファイルシステムは何を使っても良いの?
・どんなサイトで、可用性はどの程度まで担保すれば良いの?
・サーバの実装は単発の CGI なの? それとも永続的なプロセス?
プロセスのメモリ上に置いておいてどこにも書き出さないのが一番速いよ。
でサーバーのプロセスに障害が発生するとカウンターが飛ぶワケだな。
ロックを判断しながらOSのファイルシステムに読み書きするのと、
RDBMSでトランザクション使いながら読み書きするのとだと、
当然だけど前者の方が速い。
ロックを判断しながらOSのファイルシステムに読み書きするのと、
RDBMSでトランザクション使いながら読み書きするのとだと、
当然だけど前者の方が速い。
耐障害性能の要件が無いからそれで十分。
プロセス障害が気になるならマルチプロセスにしてデータを共有しておけ。
それでも心配なら 10 分に一回 tmpfs に書き込んでおけ。
まだ不安なら 1 時間に一回 tmpfs からローカルディスクにコピーしろ。
どうしても安心出来ないなら 1 日に一回リモートマシンにバックアップしろ。
プロセス障害が気になるならマルチプロセスにしてデータを共有しておけ。
それでも心配なら 10 分に一回 tmpfs に書き込んでおけ。
まだ不安なら 1 時間に一回 tmpfs からローカルディスクにコピーしろ。
どうしても安心出来ないなら 1 日に一回リモートマシンにバックアップしろ。



類似してるかもしれないスレッド
- 【MySQL】下らねぇ質問はID出して書き込みやがれ 2 (985) - [21%] - 2012/10/17 7:16
- 【】 MySQLを買収したSunを買収したOracleを 【】 (112) - [19%] - 2023/1/22 14:15
トップメニューへ / →のくす牧場書庫について