たとえば、以下のような url テーブルから CREATE TABLE url ( id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, url VARCHAR(255) NOT NULL, UNIQUE KEY url (url) );primary id を (存在しない場合は URL を追加しつつ) 検索する場合、 INSERT INTO url (url) VALUES ('http://example.com') ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);とやって、あとは last_insert_id の値 (perl の場合は $dbh->{mysql_insertid}) を参照すればいい *1。テーブルルックアップも1回だしクエリの送受信も1回なので速い。ただ、MySQL