1

PDO / PHP / MySQLを使用して、Smartyと統合されたデータグリッドアプリケーションを構築しています。

PHPで取得するための高速で便利な方法(dbスキーマまたはいくつかのPDOコマンドを使用)はありますか?

  • テーブルの主キー
  • テーブルの外部キー制約リスト?

(私はスキーマとしてInnoDBを使用しています)。

4

1 に答える 1

6

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'

MySQL:テーブルの主キーを動的に決定する

information_schema多くのデータベース/テーブルがあるサーバーでは、テーブルのクエリが遅くなる可能性があります。

あなたはそれをスピードアップするためにこれを使うことができます:

SET GLOBAL innodb_stats_on_metadata = 0

http://www.mysqlperformanceblog.com/2011/12/23/solving-information_schema-slowness/

于 2012-10-10T06:30:18.010 に答える