Infection
iB3 PostgreSQL Coder | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору в mySQL я слобак... не спорю.. но в pgSQL хоть как-то, но разбираюсь в любой сиквеловской базе сущестууют три проблемы.... 1. инкрименты 2. индексы 3. вакуум В первом случаем, на борде раково использовать автоинкрименты (для mySQL) или же serial'ы (для pgSQL). Все потому что коннект, дисконнект, инсерд, апдейт и делет использует один модуль.... кто может смотрел, там есть такие саброутины, типа sub insert или sub update так вот почему не получилось использовать автоинкрименты.. известно. что сперва делалась базы на DBM а потом уже на сиквеле... я к примеру, в любой таблице всегда использую автоинкримент, при чем в расположении кладу его последним.. так как если он в таблице последним находится, то генерится автоматически... вот пример Код: n | integer | not null default nextval('"subscribe_n_seq "'::text) mail | character varying(128) | not null id | character varying(64) | format | character varying(32) | charset | character varying(32) | dat | integer | submit | integer | stopdat | integer | | автоинкримент стоит в начале таблицы... инсерт происходит таким образом Код: insert into subscribe values(nextval('subscribe_n_seq'),?,?,?,?,?) | а если автоинкримент стоит в конце, то его вааще можно не указывать при инсерте.. сам сделается.. почему Matt так не сделал??? Потому что у него id не всегда являются интеджерами.... Так вот если у него id интеджер, то он сперва делает запрос на максимум, а потом прибавляет еденичку... Это первый недостаток.... Второй недостаток, так это индексы.... Я специально сделал для борды SQL клиент.. чтобы можно было работать с базой данных через веб интерфейс... не у всех юзверей есть доступ на шелл.. сделал почти все кроме инсерта и других пар комманд... в следующем релизе доделаю... конечно, когда индексов много, то инсерт глюкава происходит.. память жрет как сволочь... зато селект работает как по маслу... я вообще за индексами двумя руками... как правило на борде больше селектов, чем инсертов.... для постгреса в следующем релизе сделаю парочку... ну и третье - VACUUM это самое главное в сиквекле.. хорошо, если хостер делает сам вакуум баз данных по крону.. а если нет, то эта жопа.... тоже самое касается дропань индексов... их тоже время от времени можно скидывать..... в принципе можно через ikonboard.cgi замутить время от времени это делать... но это называется через жопу... поживем - увидим |