タグ付けされた質問 「mysql」

MySQLのすべてのバージョン(Microsoft SQL Serverではありません)。質問に関連する場合は、mysql-5.7のようなバージョン固有のタグも追加してください。

3
mysqlマスタースレーブでマスターを決定する方法
MySQLマスタースレーブレプリケーションを設定し、スレーブをマスターに昇格させるフェールオーバー状況を処理する方法を見つけようとしています(マスターがダウンした場合)。 アプリケーションサーバーはすべての書き込みを現在のマスターに転送する必要がありますが、2つのdbサーバーは物理的に異なる場所にある完全に異なるサブネット上にあるため、マスターとスレーブの間でサーバーレベルのHA(ハートビート、キープアライブ)を使用できません。 これは、アプリケーションレベルで処理する必要があるものだと思います。2つのサーバーにクエリを実行し、どちらがマスターかを尋ねてから、そのサーバーに対するすべてのクエリを実行できます。 現在のサーバーがマスター/スレーブレプリカのマスターであるかどうかを確認するクエリがMySQLにありますか?

3
POINT(X、Y)とGeomFromText(“ POINT(XY)”)の違いは何ですか?
MySQLデータベースにいくつかの幾何学的位置を保存したいと思います。このために、POINTデータ型を使用します。ほぼすべての場所GeomFromTextで、テーブルにデータを挿入するために関数を使用する必要があることを読みました。 しかし、私POINT(X,Y)もそれが機能することがわかりました。のGeomFromText代わりにを使用する理由についての説明が見つかりませんでしたPOINT。 たとえば、次の単純な関係があります。 CREATE TABLE Site ( SiteID BIGINT UNSIGNED, Position POINT ); そして、次の2つのバリアントを使用して値を挿入できます。 INSERT INTO Site ( 1, GeomFromText( 'POINT(48.19976 16.45572)' ) ); INSERT INTO Site ( 2, POINT(48.19976, 16.45572) ); テーブル(SELECT * FROM Site)を表示すると、場所に同じバイナリBLOBが表示され、座標(SELECT *, AsText(Position) FROM Site)を表示すると、同じ値が表示されます。 では、なぜGeomFromTextを使用する必要があるのでしょうか?これら2つのバリアントの間に(既知の)パフォーマンスの違いはありますか?これはMySQL以外のデータベースシステムでどのように解決されますか?

3
JOIN条件とWHERE条件の実行に違いはありますか?
これら2つのクエリ例の間にパフォーマンスの違いはありますか? クエリ1: select count(*) from table1 a join table2 b on b.key_col=a.key_col where b.tag = 'Y' クエリ2。 select count(*) from table1 a join table2 b on b.key_col=a.key_col and b.tag = 'Y' 唯一の違いは補足条件の配置であることに注意してください。最初はWHERE句を使用し、2番目は条件をON句に追加します。 Teradataシステムでこれらのクエリを実行すると、Explainプランは同一であり、JOINステップはそれぞれの場合に追加の条件を示します。しかし、MySQLに関するこのSOの質問では、回答の1つはWHERE、結合が行われた後に処理が行われるため、2番目のスタイルが好ましいことを示唆しています。 このようなクエリをコーディングする際に従うべき一般的なルールはありますか?データベースに明らかに影響を与えないため、プラットフォームに依存する必要があると思いますが、おそらくそれはTeradataの単なる機能です。また、プラットフォームに依存する場合は、いくつかのドキュメントリファレンスを入手してください。何を探すべきか本当に分かりません。

5
数百万のユーザーを管理する方法は?
私は本当に大きなものを立ち上げようとしています。サーバーとデータベースを準備する必要があります。 100,000ユーザーの各セットを個別のユーザーテーブルにグループ化したいのですが、適切なユーザーテーブルにログインしようとする1人のユーザーを関連付ける方法がわかりません。 たとえば、ユーザーjay@mail.comがユーザーテーブル#36に関連していることをどのようにして知ることができますか? 1つのユーザーテーブルに1,000万人のユーザーがいるのと同じでしょうか、それとも100万人のユーザーがいるのでしょうか? Facebookはどうですか?彼らが9億5,000万のエントリを持つ1つのグローバルユーザーテーブルを持つとは信じられません。
17 mysql  users 


1
MySQL Master / Slaveレプリケーションでは、スレーブに書き込むとどうなりますか?
いくつかの質問 スレーブに影響を与える可能性のあるマスターのテーブルへの挿入/更新/削除があるまで、スレーブエントリは残りますか? そうでない場合は、スレーブがマスターと同期していることをどのように確認しますか(スレーブエントリを削除するか、そのエントリをマスターに手動でコピーします)? 最も重要なのは、テーブルが同期していないことをどのように検出するかです。

4
トリガーからストアドプロシージャを呼び出す
次の構文を使用してmysqlにストアドプロシージャを作成しました。 DROP PROCEDURE IF EXISTS `sp-set_comment_count`; DELIMITER $$ CREATE PROCEDURE `sp_set-comment_count` (IN _id INT) BEGIN -- AC - AllCount DECLARE AC INT DEFAULT 0; SELECT COUNT(*) AS ac INTO AC FROM usergroups AS ug LEFT JOIN usergroup_comments AS ugm ON ugm.`gid` = ug.`id` LEFT JOIN mediagallery AS dm ON ugm.mid …

2
複合キーの最初の部分としてDATETIMEを持つ主キーインデックスは使用されません
PRIMARY KEYの最初の部分として、DATETIME(または日付)のインデックス付けに問題があります。 MySQL 5.5を使用します これが私の2つのテーブルです。 -- This is my standard table with dateDim as a dateTime CREATE TABLE `stats` ( `dateDim` datetime NOT NULL, `accountDim` mediumint(8) unsigned NOT NULL, `execCodeDim` smallint(5) unsigned NOT NULL, `operationTypeDim` tinyint(3) unsigned NOT NULL, `junkDim` tinyint(3) unsigned NOT NULL, `ipCountryDim` smallint(5) unsigned NOT NULL, `count` …

3
MyISAMとInnoDBのベスト
InnoDBで、同時実行パフォーマンスの利点を得ながら、RAMの制限のためにクラスター化インデックスの代わりにMyISAMと同じインデックスを使用することは可能ですか?

5
高度な同時書き込み、高書き込みDBのインフラストラクチャ
私の要件は次のとおりです。 3000接続 70-85%の書き込みと読み取り 現在、700の接続でHigh-CPU、エクストララージインスタンスを最大化しています。8コアすべてが最大化されています。メモリが十分であるため、同時接続の数だと思います。書き込み自体は非常に単純です(検証によって処理が遅くなります)。3000に拡張するには、現在のオプションである複数のサーバーに移動する必要があります。 MySQLシャーディング MongoDBクラスター カサンドラ HadoopとMySQL(Hadoopキャッシュ、MySQLへの単一ダンプ) MongoDBとMySQL(Hadoopの代わりに、mongoをキャッシュに使用します) この数の接続を処理するには、いくつかの質問があります。 MySQL Shardingは同時接続を処理できますか? 単一のマスターがこれらの同時接続を処理できますか、またはMongoのようなマルチヘッドがより良いオプションですか? 問題をうまく説明していない場合は謝罪します。質問してください。

2
すべてのクエリを強制終了-MySQL
時々、SNAFU中に20〜30 kill query xxxxxxx回走らなければなりません。任意の並べ替えkill allコマンドは、私が行方不明ですか? 入力が好きではないため。
17 mysql 



3
「使用」後にMySQLデータベースがフリーズする
私は最近、かなり愚かな間違いを犯し、Ubuntuのインストールを破損しました。それを解決するために、ライブCDで起動し、データベースファイルをコピーしました。しかし、今では古いインストールから新しいインストールにフォルダーをコピーしました。「use database_name」と入力するたびに、これでフリーズします: mysql> use my_database_name; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A そして、ターミナルを与えずにフリーズします。
17 mysql  backup 

2
tinyint(N)の意味は何ですか?
数値データ型で引数の長さを使用する場合、私が知る限り、これは表示幅を指定します。 私は次を試しました: mysql> create table boolean_test (var1 boolean, var2 tinyint); Query OK, 0 rows affected (0.10 sec) mysql> show create table boolean_test; +--------------+------------------------- | Table | Create Table +--------------+------------------------- | boolean_test | CREATE TABLE `boolean_test` ( `var1` tinyint(1) DEFAULT NULL, `var2` tinyint(4) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 | +--------------+--------------------------- …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.