元スレ【この先一体】MySQL 総合 Part15【どうなるの】
mysql覧 / PC版 /みんなの評価 : ○
251 = :
252 = :
データベースをいくつか用意し、データを分散、必要なデータを適時読み取るってことできますか?
254 = :
primary keyとunique keyをはっているidを見たのですが、これってprimarykeyのみと比べて検索速度に違いは出ますか?
primarykeyはuniquekeyをかねると記憶していたので検証された方いらっしゃいましたらご教示ください。
255 = :
気になるなら自分で試せばいいのに
256 = :
試してみたいですが差を認識できるほど大規模な検証は時間がかかるので試したかたがいればとおもいました
一般的にはprimaryのみという認識であってますか?
257 = :
INDEXなんてもし同じものに2つ以上ついていても
1つしか使われないんだから一緒だろう。
そもそも制約と索引の違いもわかってないのにそこを気にするのは間違ってるな。
261 = :
何で接続しているか知らんが、たとえば、JDBCとかだとユニコードに一旦変換されたりするんじゃね?
262 :
>>237
もう俺は移行済み。むしろMySQLは早く無くなってほしいくらいw
269 = :
テーブルの文字コードっていったい何だと思っているのか
270 = :
2chの掲示板がMySQLつかってるとは思えない
272 = :
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)
273 = :
> また,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)を変更して再起動しても
すでに格納したデータは変わらない。
274 = :
>>272-273
ありがとうございました!!リファレンスマニュアルに
「クライアントから送られたステートメントをcharacter_set_client からcharacter_set_connection に変換します(ただし_latin1 あるいは_utf8のようなイントロデューサのある文字列リテラルは除く).」
と書かれていて混乱していました.
>>272のバイト長の例がわかりやすかったです.
>>273は文字コードが(4)(設定されてなければ(3),(2),(1))に変換されて格納されるということですよね.
275 :
ダンプをしたりするのをコマンドプロンプトでやってるのですが
オプション指定とかいろいろ知識も必要で手間もかかるので
ダンプとかダンプしたデータを戻したりができるフリーソフトってないですか?
Windowsです。
276 = :
>>258
2ちゃんねるはデーターベースは使ってない。
ファイルで管理している。
277 = :
>>275
こんなん?
http://help.matsubarasystems.com/dbUtil/
279 = :
ファイルだらけで何か問題?
ファイルシステムで済む事にDBを使うメリットは無いでしょ。
280 = :
>>276
はいって何だよ。出来んのかよ。さっきから何度も。何がはいなんだよ。
出来もしねえ奴が軽々しくはいなんて言うんじゃねえよ。
わかってんのかよ。はいって言う事の責任の重さを。
社会勉強のつもりでやってんだったら辞めろおまえ。
281 = :
>>280
なんだなんだ!?
282 = :
2chの場合は明らかにファイルシステムの方が向いているだろ。
と言うか2chをデータベースで管理していると考えたり、例えてたり
する方が正直どうか?と思うが。
283 = :
その明らかな理由を教えてください
284 = :
1スレッド最大1000コメントで、順次アクセスと追記だけ。
コメント間のリンクの管理もやらない。
これのどこにDBが必要になるんだよ。
285 :
書き込みが多い(激しい)スレだと、ファイルロックじゃ持たないでしょ?
昔から、カウンタなんかでよく出た話
#落ちてもたいしたデータじゃないと言えばそれまでw
スレ一覧の更新順に表記なんかは、DBの方が楽だという発想がないの?
286 = :
>書き込みが多い(激しい)スレだと、ファイルロックじゃ持たないでしょ?
現に2chが持っている事実について
>スレ一覧の更新順に表記なんかは、DBの方が楽だという発想がないの?
現実にはファイルシステムの方が楽な点について
正直>>285みたいな発想できるほうがエンジニアとしては致命的だと思うが。
287 = :
まあエラーが出たら書き込む側がリトライするし、その程度の信頼性でいいからな。
288 = :
2chならむしろファイルシステムのが向いてるんじゃね
289 = :
2chならむしろ存在しない方がいいわけで
290 = :
>まあエラーが出たら書き込む側がリトライするし、その程度の信頼性でいいからな。
MySQLスレでこんな発言を聞くと凄くマヌケに感じる。
RDBMSを使ってトランザクション制御しようが、2chの仕様の「追記オンリー、1スレッド1000コメント」
の前にはRDBMS使う必然がないだろ。
つか、RDBMSで最新50取得とか次100とか全部読むをSQLを発行して結果セット取得しながら
HTMLに変換とかやるくらいなら、ファイルシステムを読みながら変換したほうが効率いい。
291 = :
RDBMS覚えたてだと何でもDBに突っ込みたくなる物さ
わざわざDBを使って同期書き込みしたら、それこそ持たないと思うけどね
292 = :
>>285
中の人じゃないので「今」の仕様は知らないけど。
数年前は mmap() してた。
(だからdatサイズ制限とか{ある|あった})
最近はRAMDISK上に置いてるので、鯖落ちするとdatは
電子の藻屑になるケースが多い。
※↑は書き込みの多い実況系の設定
※普通の板はファイルキャッシュで間に合うらしい
293 = :
2chはRDBMSの方が向いていると主張するヤツは試しに
実況鯖とかをMySQLで実装してみればいいんじゃね。
おそらく、マッハで鯖が落ちる。
294 = :
>>290
一斉に書き込むとタイムアウトするし、たまに1000超えてるときあるだろ?
銀行の預金じゃないんだからその程度でいいんだよ。
295 = :
>>293がしょぼいプログラムを書くから落ちるんだよ。
298 = :
でサーバーのプロセスに障害が発生するとカウンターが飛ぶワケだな。
ロックを判断しながらOSのファイルシステムに読み書きするのと、
RDBMSでトランザクション使いながら読み書きするのとだと、
当然だけど前者の方が速い。
299 = :
耐障害性能の要件が無いからそれで十分。
プロセス障害が気になるならマルチプロセスにしてデータを共有しておけ。
それでも心配なら 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
トップメニューへ / →のくす牧場書庫について