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

MySQLは、構造化照会言語(SQL)を使用する無料のオープンソースのリレーショナルデータベース管理システム(RDBMS)です。SQL Server、SQLiteなど、他のDBにはこのタグを使用しないでください。これらはすべて、独自のSQL方言を使用してデータを管理する異なるDBです。


14
INTとVARCHARの主キーの間に実際のパフォーマンスの違いはありますか?
MySQLの主キーとしてINTとVARCHARを使用する間に測定可能なパフォーマンスの違いはありますか?VARCHARを参照リストの主キー(米国の州、国コードなど)として使用し、同僚がINT AUTO_INCREMENTをすべてのテーブルの主キーとして使用することを避けたいのですが。 ここで詳しく説明するように、私の議論は、INTとVARCHARのパフォーマンスの違いは無視できるということです。INTの外部キー参照はすべて、参照を理解するためにJOINを必要とするため、VARCHARキーは情報を直接表示します。 それで、この特定のユースケースとそれに関連するパフォーマンスの問題の経験がある人はいますか?




30
mysql外部キー制約が正しく形成されていないエラー
私は2つのテーブルを持って、table1列を持つ親テーブルであるIDとtable2コラムでIDFromTable1私は上のFKを入れて(ない実際の名前)IDFromTable1にIDでtable1、私はエラーを取得しますForeign key constraint is incorrectly formed error。table1レコードが削除された場合、テーブル2のレコードを削除したいと思います。助けてくれてありがとう ALTER TABLE `table2` ADD CONSTRAINT `FK1` FOREIGN KEY (`IDFromTable1`) REFERENCES `table1` (`ID`) ON UPDATE CASCADE ON DELETE CASCADE; 他に情報が必要な場合はお知らせください。mysqlは初めてです
173 mysql  sql  heidisql 

5
MySQLのテーブル名は大文字と小文字が区別されますか?
MySQLのテーブル名は大文字と小文字が区別されますか? 私のWindows開発マシンでは、コードがすべて小文字のように見えるテーブルにクエリを実行できます。データセンターのテストサーバーに展開すると、テーブル名が大文字で始まるように見えます。 私たちが使用するサーバーはすべてUbuntuにあります。

6
MYSQLのより高いLIMITオフセットがクエリの速度を低下させるのはなぜですか?
簡単なシナリオ:1600万件を超えるレコード[サイズは2GB]のテーブル。SELECTでのLIMITオフセットが高いほど、ORDER BY * primary_key *を使用するとクエリが遅くなります そう SELECT * FROM large ORDER BY `id` LIMIT 0, 30 はるかに少ない SELECT * FROM large ORDER BY `id` LIMIT 10000, 30 いずれにしても、注文するレコードは30件だけで、同じです。したがって、ORDER BYによるオーバーヘッドではありません。 現在、最新の30行をフェッチする場合、約180秒かかります。その単純なクエリをどのように最適化できますか?

11
フィールド名をバッククォートで囲む
ここでいくつかのSQL質問に対するいくつかの回答とコメントを読み、私の友人がそれらを禁止するポリシーのある場所で働いていることを聞いた後、MySQLでフィールド名の周りにバックティックを使用することに何か問題があるのではないかと思っています。 。 あれは: SELECT `id`, `name`, `anotherfield` ... -- vs -- SELECT id, name, anotherfield ...
172 mysql  backticks 

9
MySQLユーザーDBにパスワード列がない-OSXにMySQLをインストールする
MySql rootパスワードを変更しようとしています。 私がやったことは以下のとおりです。 MySql-5.7.6〜.dmg(コミュニティサーバー)とワークベンチをインストールします。 OSXシステム設定でサーバーをオフにします。 コンソールからMySqlにアクセスします。コマンドはmysqld_safe --skip-grant 実行するupdate user set password=password('1111') where user='root';とエラーメッセージが表示されます-> ERROR 1054 (42S22): Unknown column 'password' in 'field list'。 参考までにuse mysql;。したがって、ユーザーテーブルでクエリを選択しましたが、実際にはパスワード列が存在しないことがわかりました。 とても変です。元のユーザーテーブルにパスワード列がない可能性はありますか? 存在しないパスワードを変更するにはどうすればよいですか? あなたの答えをありがとう:D
172 mysql  macos  passwords  root 

13
MySQLデータベースに絵文字を保存する方法
プロジェクトで絵文字を使用しています。その文字はmysqlデータベースに保存(??)されます。でデータベースのデフォルト照合を使用していましたutf8mb4_general_ci。それは示す 1366文字列値が正しくありません:行1の列 'comment'の '\ xF0 \ x9F \ x98 \ x83 \ xF0 \ x9F ...'
172 mysql 

5
データベース全体で文字セット(およびコレクション)を変更するにはどうすればよいですか?
前のプログラマーがテーブル(Mysql)に間違った照合を設定しました。彼はUTF8であるはずのラテン照合でそれを設定しました、そして今私は問題を抱えています。中国語と日本文字のすべてのレコードは??? キャラクター。 照合順序を変更して、キャラクターの詳細を取得することはできますか?
172 mysql  sql  collation 


11
MySQLを使用するようにDjangoを設定する
PHPから少し離れて、Pythonについて学びたいです。PythonでWeb開発を行うには、テンプレート化などを支援するフレームワークが必要です。 私はすべてのWeb開発関連のテストに使用する非実動サーバーを持っています。これは、一般的なMySQLサーバーパッケージの代わりにMariaDBを実行するDebian 7.1 LAMPスタックです。 昨日、Djangoをインストールして、firstwebという最初のプロジェクトを作成しました。まだ設定を変更していません。 これが私の最初の大きな混乱です。チュートリアルでは、Djangoをインストールした人を追跡し、彼の最初のプロジェクトを開始し、Apacheを再起動しました。その後、Djangoはその後も機能しました。彼はブラウザに行き、Djangoのデフォルトページに問題なく行きました。 しかし、私は最初のwebフォルダーにcdして実行する必要があります python manage.py runserver myip:port そしてそれは機能します。問題ない。しかし、私はそれがこのように機能するはずであり、これが将来的に問題を引き起こすかどうか疑問に思っていますか? 私の2番目の質問私はそれが私のMySQLデータベースを使用していますので、それを設定したいということです。/ firstweb / firstwebの下のsettings.pyに移動すると、ENGINEとNAMEが表示されますが、ここに何を入力すればよいかわかりません。 そして、USER、PASSWORD、およびHOST領域に、これは私のデータベースとその資格情報ですか?localhostを使用している場合、localhostをHOST領域に配置できますか?
171 python  mysql  django  debian 

14
開発、テスト、本番環境でデータベースをどのように管理しますか?
開発、テスト、運用サーバー間でデータベーススキーマとデータを管理する方法の良い例を見つけるのに苦労しました。 これがセットアップです。各開発者は、アプリとMySQLデータベースを実行する仮想マシンを持っています。彼らが望むことを何でもするのは彼らの個人的なサンドボックスです。現在、開発者はSQLスキーマに変更を加え、データベースをテキストファイルにダンプし、SVNにコミットします。 常に最新のコミット済みコードを実行する継続的インテグレーション開発サーバーをデプロイしたいと考えています。今それを行うと、ビルドごとにSVNからデータベースをリロードします。 「リリース候補」を実行するテスト(仮想)サーバーがあります。現在、テストサーバーへの展開は非常に手動のプロセスであり、通常、SVNから最新のSQLを読み込んで微調整する必要があります。また、テストサーバー上のデータに一貫性がありません。最終的にコミットした開発者がサンドボックスサーバーに保持していたテストデータがすべて得られます。 すべてが機能しないのは、本番環境への展開です。ライブデータをテストデータで上書きすることはできないため、すべてのスキーマ変更を手動で再作成する必要があります。データを操作するためのスキーマ変更または変換スクリプトが多数あった場合、これは非常に困難な作業になる可能性があります。 問題がスキーマだけだった場合は、もっと簡単な問題ですが、データベースには、セキュリティテーブルや権限テーブルのメタデータなど、開発中にも更新される「ベース」データがあります。 これは、継続的インテグレーションとワンステップビルドへの移行において私が目にする最大の障壁です。どのように解決しますか? 補足質問:データベースのバージョンをどのように追跡して、特定のデータベースインスタンスをアップグレードするために実行するスクリプトを知ることができますか?Lanceのようなバージョンテーブルは、標準的な手順の下で言及されていますか? タランティーノへの参照をありがとう。私は.NET環境ではありませんが、DataBaseChangeMangement wikiページが非常に役立つことがわかりました。特にこのPowerPointプレゼンテーション(.ppt) *.sql特定のディレクトリにあるスクリプトの名前をデータベースのテーブルと照合し、そこにないものをファイル名の最初の部分を形成する整数に基づいて順番に実行するPythonスクリプトを作成します。それがかなりシンプルなソリューションである場合、私はそれがそうであると思うので、私はそれをここに投稿します。 これを実行するスクリプトがあります。DBが存在しない場合は初期化し、必要に応じてアップグレードスクリプトを実行します。既存のデータベースをワイプし、ファイルからテストデータをインポートするためのスイッチもあります。約200行なので、投稿しません(興味があれば、ペーストビンに入れても構いません)。
171 mysql  svn 

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