これが私のクエリです:
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = "transactions"
そして、これにかかった時間は次のとおりです。
Showing rows 0 - 29 ( 36 total, Query took 61.8934 sec)
私はデータベース管理者ではありませんが、これは正常ではありませんね。INFORMATION_SCHEMA のクエリに 1 分以上かかることを期待する必要がありますか? ここで私が間違っていることはありますか?これから通常の応答を得るために、インデックスなどを追加する必要がありますか?
--- 質問に対処するために編集します
バージョン 5.5.30-30.2
このデータベースは HostGator によってホストされています
EXPLAIN SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = "トランザクション"
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE COLUMNS ALL NULL TABLE_NAME NULL NULL NULL Using where; Open_frm_only; Scanned 1 database
CREATE TABLE トランザクションを表示:
transactions CREATE TABLE `transactions` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`accountId` int(11) NOT NULL DEFAULT '0',
`contractId` int(11) NOT NULL DEFAULT '0',
`insertionId` int(11) NOT NULL DEFAULT '0',
`aNetCIMProfileId` int(11) NOT NULL DEFAULT '0',
`paymentProfileId` int(11) NOT NULL DEFAULT '0',
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`wasSuccessful` tinyint(1) NOT NULL DEFAULT '0',
`amount` int(11) NOT NULL DEFAULT '0',
`resultText` varchar(255) NOT NULL,
`authNetTransactionId` bigint(20) NOT NULL DEFAULT '0',
`isChargedBack` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=latin1
SELECT Count( * )
FROM INFORMATION_SCHEMA.COLUMNS
[これも 1 分以上かかりました]
1303
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = "transactions"
AND TABLE_SCHEMA = 'mydbname'
同じ応答時間
SET global innodb_stats_on_metadata = 0;
#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation
(このデータベースは HostGator によってホストされています)