PDO / PHP / MySQLを使用して、Smartyと統合されたデータグリッドアプリケーションを構築しています。
PHPで取得するための高速で便利な方法(dbスキーマまたはいくつかのPDOコマンドを使用)はありますか?
- テーブルの主キー
- テーブルの外部キー制約リスト?
(私はスキーマとしてInnoDBを使用しています)。
information_schema
次のテーブルをクエリすると、重要な情報を取得できます。
SELECT *
FROM information_schema.KEY_COLUMN_USAGE
WHERE REFERENCED_TABLE_NAME = 'my_table_name'
MySQL:特定のtable.columnを参照する外部キーを持ち、それらの外部キーの値を持つすべてのテーブルを見つけるにはどうすればよいですか?
次を使用して主キーを取得できますSHOW TABLE
。
SHOW INDEX FROM my_table_name
WHERE key_name = 'PRIMARY'
information_schema
多くのデータベース/テーブルがあるサーバーでは、テーブルのクエリが遅くなる可能性があります。
あなたはそれをスピードアップするためにこれを使うことができます:
SET GLOBAL innodb_stats_on_metadata = 0
http://www.mysqlperformanceblog.com/2011/12/23/solving-information_schema-slowness/