Re: Berkeley DB...
От | Matthias Urlichs |
---|---|
Тема | Re: Berkeley DB... |
Дата | |
Msg-id | 20000526101631.E11082@noris.de обсуждение исходный текст |
Ответ на | Re: Berkeley DB... (Mike Mascari <mascarm@mascari.com>) |
Список | pgsql-hackers |
Hi, Mike Mascari: > DML statements vs. MySQL. As Vadim points out in his comparison > of COPY vs. INSERT, something is *wrong* with the time it takes > for PostgreSQL to parse, plan, rewrite, and optimize. In my throughly unscientific opinion, the problem may well be the fact that PostgreSQL recurses the whole process, i.e. it is looking up attributes of one table in a bunch of other tables. MySQL, by contrast, has three files per table -- one with the data, one with _all_ the indices, and one .frm file with all the other metadata you would ever want to know about a table. That metadata file is mapped into shared memory space by the first task that opens a table, and it stays there. The data and index files also stay open until they're flushed. Since MySQL is multithreaded, opening a new connection is extremely cheap. By contrast, PostgreSQL does more than 30 open() calls when I connect to it.(*) It's still lots faster than some other databases I might mention, though... Access control is done by a bunch of tables in the "mysql" database, but these are 100% cached. One nice side effect of this is that it's very easy to access tables from another database. Just say "select * from foo.bar". (*) The list: /data//pg_options /etc/passwd /etc/group /data//PG_VERSION /data//pg_database /data//base/test/PG_VERSION /data//base/test/pg_internal.init /data//pg_log /data//pg_variable /data//base/test/pg_class /data//base/test/pg_class_relname_index /data//base/test/pg_attribute /data//base/test/pg_attribute_relid_attnum_index /data//base/test/pg_trigger /data//base/test/pg_am /data//base/test/pg_index /data//base/test/pg_amproc /data//base/test/pg_amop /data//base/test/pg_operator /data//base/test/pg_index_indexrelid_index /data//base/test/pg_operator_oid_index /data//base/test/pg_index_indexrelid_index /data//base/test/pg_trigger_tgrelid_index /data//pg_shadow /data//pg_database /data//base/test/pg_proc /data//base/test/pg_proc_proname_narg_type_index /data//base/test/pg_type /data//base/test/pg_type_oid_index /data//base/test/pg_proc_oid_index /data//base/test/pg_rewrite /data//base/test/pg_user /data//base/test/pg_attribute_relid_attnam_index /data//base/test/pg_operator_oprname_l_r_k_index /data//base/test/pg_class_oid_index /data//base/test/pg_statistic /data//base/test/pg_statistic_relid_att_index -- Matthias Urlichs | noris network GmbH | smurf@noris.de | ICQ: 20193661 The quote was selected randomly. Really. | http://smurf.noris.de/ -- Man with hand in pocket feel cocky all day. -- Confucius
В списке pgsql-hackers по дате отправления: