Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Maksym Shevchenko                    2:5020/400     19 Dec 2002  18:11:24
 To : Valentin Nechayev
 Subject : Re: Программирование баз данных DBM...
 -------------------------------------------------------------------------------- 
 
 Hello, Valentin!
 You wrote to Andrew Martovlos <martin@meduniv.lviv.ua> on Wed, 18 Dec 2002
 10:37:34 +0000 (UTC):
 
  VN> Индекс по фамилии добавить. Сымитировав тем самым работу подложки того
  VN> же MySQL собственными силами ;))
  VN> Сделай, например, жесткую структуру с данными, ключ к ней - recno
  VN> (с префиксом, например, это будет "R000001", "R000002" и так далее).
  VN> И ключи индексов (например, "IS Петров" = 1, "IS Семенов" = 2).
  VN> Hадо искать по фамилии - дописываешь "IS" спереди, делаешь get,
  VN> получаешь recno записи. Делаешь get от "R" плюс текстового
  VN> представления recno, получаешь всю запись.
  VN>
  VN> Повторяю, что этим ты эмулируешь нижний уровень движка SQL сервера.
  VN> Стоило ли уходить с него? ;))
  VN>
 
 А иногда это оправдано (как у меня сейчас). Вот у меня например задача в
 которой 90% запросов это работа, скажем, по ID и остальные 10% (а то и
 меньше 95 на 5) это поиск по значению на caseinsensetive совпадение начала
 строки. Релизовал я сие следующим образом.
 Есть скажем набор полей User ID, некий Key из набора (FIO, email, birth...)
 и собственно говоря значение. Для хранения этой лабуды сделано две базы
 BTREE - первая "UID\xFFKey"->"value" и вторая "Key\xFFUID"->"value". Базы
 синхронизируются на уровне транзакций, т.е. если мы что-то меняем то меняем
 в них обоих и в одной транзакции.
 Есть функция получить map<Key,Value> для данного UID и функция получить
 set<UID> для тех у кого Value для заданых Key's начинается с заданных
 символов. Первая функция работает с первой базой, вторая со второй. Как
 думаю обьяснять не надо. Hе думаю что использование SQL было бы быстрее для
 данной задачи.
 
 ЗЫ just IMHO
 --
 With best regards, Maksym Shevchenko.
 E-mail: r0land@r0land.kiev.ua
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Программирование баз данных DBM...   Andrew Martovlos   18 Dec 2002 02:18:24 
 Re: Программирование баз данных DBM...   Ian Dichkovsky   18 Dec 2002 11:36:52 
 Re: Программирование б аз данных DBM...   Valentin Nechayev   18 Dec 2002 14:37:34 
 Re: Программирование баз данных DBM...   Maksym Shevchenko   19 Dec 2002 18:11:24 
 Re: Программирование баз данных DBM...   Max Ischenko   18 Dec 2002 15:11:02 
 Программирование баз данных DBM...   Andrew Kant   18 Dec 2002 14:13:11 
Архивное /ru.linux/213999aa8a70.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional