Помогите плиз определиться с выбором базы.
Условия следующие
— Имеется некоторая таблица, в которой < 50000 записей (100000)
— Необходимо обеспечить поиск записи из этой таблицы,
по одному из двух полей (по какому именно полю это
выбирается случайно)
— скорость поиска этой записи должна быть < 0.7c (<0.5c)
желательно обеспечить такую скорость в 95% случаев(100%)
Копм — Pentium1 (чем хуже тем лучше)
— запрос на поиск может приходить практически один за одним
— кроме этой таблицы должна быть еще одна таблица, в которую
будут записываться данные поиска (т.е. она может быть большая)
— с базой могут работать еще до 5 клиентов
Подойдет ли для такой задачи Access. Есть ли в Access поиск
по индексу, или выборку можно делать только через SQL.
Оптимизируется ли SQL запрос если есть индекс.
Здравствуйте Dima2, Вы писали:
D>Помогите плиз определиться с выбором базы. D>Условия следующие D> — Имеется некоторая таблица, в которой < 50000 записей (100000) D> — Необходимо обеспечить поиск записи из этой таблицы, D> по одному из двух полей (по какому именно полю это D> выбирается случайно) D> — скорость поиска этой записи должна быть < 0.7c (<0.5c) D> желательно обеспечить такую скорость в 95% случаев(100%) D> Копм — Pentium1 (чем хуже тем лучше)
Может тебе лучше посмотреть на какой-нибудь фрюних и что-нибудь типа MySQL и Postgress. Боюсь, что на такой машине даже акцесс тормозить будет нещадно.
D> — запрос на поиск может приходить практически один за одним D> — кроме этой таблицы должна быть еще одна таблица, в которую D> будут записываться данные поиска (т.е. она может быть большая) D> — с базой могут работать еще до 5 клиентов
D>Подойдет ли для такой задачи Access. Есть ли в Access поиск
Хз. Пробовать надо. По размерам таблиц точно подойдет, а вот что будет со скоростью — хз.
D>по индексу, или выборку можно делать только через SQL.
Что значит поиск по индексу в отрыве от SQL-запроса?
D>Оптимизируется ли SQL запрос если есть индекс.
Здравствуйте Lexey, Вы писали:
L>Здравствуйте Dima2, Вы писали:
D>>Помогите плиз определиться с выбором базы. D>>Условия следующие D>> — Имеется некоторая таблица, в которой < 50000 записей (100000) D>> — Необходимо обеспечить поиск записи из этой таблицы, D>> по одному из двух полей (по какому именно полю это D>> выбирается случайно) D>> — скорость поиска этой записи должна быть < 0.7c (<0.5c) D>> желательно обеспечить такую скорость в 95% случаев(100%) D>> Копм — Pentium1 (чем хуже тем лучше)
L>Может тебе лучше посмотреть на какой-нибудь фрюних и что-нибудь типа MySQL и Postgress.
Кто такой фрюних, это unix что-ли, и что MySQL работает только на нем?
L>Боюсь, что на такой машине даже акцесс тормозить будет нещадно.
Почему даже. Что аксес считается свамой быстрой базой.
D>> — запрос на поиск может приходить практически один за одним D>> — кроме этой таблицы должна быть еще одна таблица, в которую D>> будут записываться данные поиска (т.е. она может быть большая) D>> — с базой могут работать еще до 5 клиентов
D>>Подойдет ли для такой задачи Access. Есть ли в Access поиск
L>Хз. Пробовать надо. По размерам таблиц точно подойдет, а вот что будет со скоростью — хз.
D>>по индексу, или выборку можно делать только через SQL.
L>Что значит поиск по индексу в отрыве от SQL-запроса?
Я работал с *.dbf, там можно было искать по индексному файлу.
Здравствуйте Dima2, Вы писали:
D>Здравствуйте Lexey, Вы писали:
L>>Здравствуйте Dima2, Вы писали:
D>>>Помогите плиз определиться с выбором базы. D>>>Условия следующие D>>> — Имеется некоторая таблица, в которой < 50000 записей (100000) D>>> — Необходимо обеспечить поиск записи из этой таблицы, D>>> по одному из двух полей (по какому именно полю это D>>> выбирается случайно) D>>> — скорость поиска этой записи должна быть < 0.7c (<0.5c) D>>> желательно обеспечить такую скорость в 95% случаев(100%) D>>> Копм — Pentium1 (чем хуже тем лучше)
L>>Может тебе лучше посмотреть на какой-нибудь фрюних и что-нибудь типа MySQL и Postgress. D>Кто такой фрюних, это unix что-ли, и что MySQL работает только на нем?
Угу, фриварный уних. MySQL работает не только не нем. Просто почти голое ядро какого-нибудь линукса будет жрать меньше памяти, чем Винды.
L>>Боюсь, что на такой машине даже акцесс тормозить будет нещадно. D>Почему даже. Что аксес считается свамой быстрой базой.
Акцесс считается самой быстрой базой? Ты шутишь?
D>>> — запрос на поиск может приходить практически один за одним D>>> — кроме этой таблицы должна быть еще одна таблица, в которую D>>> будут записываться данные поиска (т.е. она может быть большая) D>>> — с базой могут работать еще до 5 клиентов
D>>>Подойдет ли для такой задачи Access. Есть ли в Access поиск
L>>Хз. Пробовать надо. По размерам таблиц точно подойдет, а вот что будет со скоростью — хз.
D>>>по индексу, или выборку можно делать только через SQL.
L>>Что значит поиск по индексу в отрыве от SQL-запроса? D>Я работал с *.dbf, там можно было искать по индексному файлу.
А... вот оно что. Нет, здесь так не сделаешь, да и не нужно.
Здравствуйте Lexey, Вы писали:
D>>Кто такой фрюних, это unix что-ли, и что MySQL работает только на нем? L>Угу, фриварный уних. MySQL работает не только не нем. Просто почти голое ядро какого-нибудь линукса будет жрать меньше памяти, чем Винды.
Нет лучше на Win. Но вроде MySQL тоже весит не мало (под винды).
А как можно достучаться до MySQL, через ODBC или какой специальный API
D>>Почему даже. Что аксес считается свамой быстрой базой. L>Акцесс считается самой быстрой базой? Ты шутишь?
Понятно.
Здравствуйте Dima2, Вы писали:
D>Здравствуйте Lexey, Вы писали:
D>>>Кто такой фрюних, это unix что-ли, и что MySQL работает только на нем? L>>Угу, фриварный уних. MySQL работает не только не нем. Просто почти голое ядро какого-нибудь линукса будет жрать меньше памяти, чем Винды. D>Нет лучше на Win. Но вроде MySQL тоже весит не мало (под винды). D>А как можно достучаться до MySQL, через ODBC или какой специальный API
D>>>Почему даже. Что аксес считается свамой быстрой базой. L>>Акцесс считается самой быстрой базой? Ты шутишь? D>Понятно.
Не надо никаких извратов. Если база в акцессе, то и работай в нем.
Спокойно установи индексы на нужные поля, поиск по индексу. У меня в базе более 500000 записей — ищет одну запись и направляет в отчет при первом обращении к таблице примерно за 0.005 сек, при повторном обращении 0.0012 сек (для AMD — 166). У меня необходимо обрабатывать до 1000 записей одновременно с 5 машин. причем весь код на VBA. Недавно только перенес на С++.
Здравствуйте AlexOOO, Вы писали:
AOOO>Не надо никаких извратов. Если база в акцессе, то и работай в нем. AOOO>Спокойно установи индексы на нужные поля, поиск по индексу. У меня в базе более 500000 записей — ищет одну запись и направляет в отчет при первом обращении к таблице примерно за 0.005 сек, при повторном обращении 0.0012 сек (для AMD — 166). У меня необходимо обрабатывать до 1000 записей одновременно с 5 машин. причем весь код на VBA. Недавно только перенес на С++.
Это хорошо. Хотя вариант с MySQL тоже может оказаться интересным хотелось бы
как то сравнить по скорости с Аксесом, может кто имеет такой опыт и скажет,
не морочь себе яйца с этим MySQL никакого выигрыша нет?
Здравствуйте AlexOOO, Вы писали:
D>>>>Кто такой фрюних, это unix что-ли, и что MySQL работает только на нем? L>>>Угу, фриварный уних. MySQL работает не только не нем. Просто почти голое ядро какого-нибудь линукса будет жрать меньше памяти, чем Винды. D>>Нет лучше на Win. Но вроде MySQL тоже весит не мало (под винды).
Хозяин — барин. Вот на виндах гонять MySQL действительно смысла нет. Тогда уж лучше MSDE.
D>>А как можно достучаться до MySQL, через ODBC или какой специальный API
Да вроде есть к нему ODBCшный драйвер.
D>>>>Почему даже. Что аксес считается свамой быстрой базой. L>>>Акцесс считается самой быстрой базой? Ты шутишь? D>>Понятно.
AOOO>Не надо никаких извратов. Если база в акцессе, то и работай в нем. AOOO>Спокойно установи индексы на нужные поля, поиск по индексу. У меня в базе более 500000 записей — ищет одну запись и направляет в отчет при первом обращении к таблице примерно за 0.005 сек, при повторном обращении 0.0012 сек (для AMD — 166). У меня необходимо обрабатывать до 1000 записей одновременно с 5 машин. причем весь код на VBA. Недавно
Все зависит от запросов. Серьезный 3-х табличный запрос с частотой примерно 40 раз/сек прогинает даже MS SQL Server на тестовом P3/800 с 256 мегами памяти.
>только перенес на С++.
Если запросы более-менее сложные, то на чем написан код не играет никакой роли — основным торомозом является база.