私はDjangoBookを読んでいて、興味深い声明に出くわしました。
Notice that Django doesn’t use SELECT * when looking up data and instead lists
all fields explicitly. This is by design:
in certain circumstances SELECT * can be slower,
これはhttp://www.djangobook.com/en/1.0/chapter05/から入手しました
したがって、私の質問はSELECT *
、すべての列を明示的に呼び出すよりも、なぜ遅くなる可能性があるのかを誰かが説明できるかどうかです。いくつか例を挙げていただければ幸いです。または、反対のことを考えている場合(それは問題ではありません)、その理由を説明できますか?
アップデート:
それがテーブルです:
BEGIN;
CREATE TABLE "books_publisher" (
"id" serial NOT NULL PRIMARY KEY,
"name" varchar(30) NOT NULL,
"address" varchar(50) NOT NULL,
"city" varchar(60) NOT NULL,
"state_province" varchar(30) NOT NULL,
"country" varchar(50) NOT NULL,
"website" varchar(200) NOT NULL
);
そして、それがDjangoが呼び出す方法SELECT * FROM book_publisher
です:
SELECT
id, name, address, city, state_province, country, website
FROM book_publisher;