Как стать автором
Обновить
17
0

Пользователь

Отправить сообщение
Я самоподобия не вижу. Поясните?
Ну в качестве бесплатного инструмента, может быть, он и хорош. Однако ведь уже есть универсальные интерфейсы, такие как DBVisualizer, поддерживающий практически любые БД и к тому же кроссплатформенный.
image
Ага, а для Windows — 3DSOM, тоже правда платная, почти 1000 евро.
Но да, на просторах сети встречаются чудеса =)

image
image
Судя по тому, что у кеша есть время жизни (думаю, не меньше часа, учитывая, что приходится 10 сек запрос выполнять — иначе смысле нет), на сайте интернет-магазина не очень большой товарооборот, иначе топ10 просто не будет отображать реальную ситуацию. В этом случае, целесообразно создать новую таблицу типа
CREATE
    TABLE MART.GOODSCNT
    (
    	--Идентификатор товара
        GID INTEGER NOT NULL,
        --Количество товара
        GCNT INTEGER,
        CONSTRAINT GD_PK PRIMARY KEY (GID)
    )

Эта таблица будет содержать столько строк, сколько различных единиц товара есть в вашем магазине (могу предположить, что различных позиций меньше 100К).
Затем, на таблицу покупок можно повесить триггер, который бы обновлял(или добавлял) значение в таблицу MART.GOODSCNT. Учитывая мое предположение, что товарооборот не слишком велик, дополнительная нагрузка на базу будет незначительной.
В этом случае будет довольно просто вывести топ10 (вместо SELECT COUNT(), который вы, возможно используете)
SELECT GID FROM MART.GOODSCNT ORDER BY GCNT DESC FETCH FIRST 10 ROWS ONLY


Второй вариант, который мне приходит в голову — это создание материализованных таблиц, которые специально созданы для кеширования результатов запроса в виде таблицы. Не факт, правда, что используемая вами СУБД их поддерживает. Если такие таблицы поддерживаются, вам потребуется лишь настроить расписание их обновления.

Третий вариант — создание специализированного хранилища данных (Data warehouse) и ETL-jobs для переливки и агрегации аналитических данных. Но, в случае с небольшим интернет магазином это решение слишком дорогостоящее.

Все эти варианты можно рассматривать, если вы уверены, что текущими средствами не удается добиться прироста производительности вашего SQL запроса.
В целом, я согласен с комментарием . 10 секунд слишком много для выполнения запросов по интернет магазину. Для примера, могу сказать, что на моей практике формирование аналитического запроса с таблицей фактов >37M строк занимает 5-6 секунд.
100 лет, это же 64 в шестнадцатиричной! =) Тоже, своего рода круглая дата)
Отдельное спасибо за DB2, поздравляю и надеюсь, что когда-нибудь бюрократии при работе с бизнес-партнерами (по крайней мере в России) станет меньше (ну, хотя бы к 101 летию… Ладно уж… 101 летию в hex чтоб уж прям точно! ;) ).
ммм, да. Спасибо большое за помощь
Спасибо. К сожалению, не работает с L. Как выводить это другой вопрос. Просто хотел попробовать использовать реализованный вами алгоритм.
Это ведь нужно для умножение очень преочень больших чисел, как я понимаю? А как можно попробовать умножить реально большие числа, а не 1000 на 2000? я что-то не очень понял. Пробовал так:
    ...
    typedef unsigned __int64   u8;
    typedef unsigned __int64   u16;
    typedef unsigned __int64   u32;
    u16 a = 17446744073709551615;
    ...


Но Dev-C++, например, говорит, что константа слишком велика. Не подскажите каким образом можно использовать такое большое число?
Применительно к базам данных, в русском языке прочно укоренилось написание «транзакция». В википедии (не знаю, правда, на сколько вы ей доверяете), на странице Транзакция явно присутствует предупреждение «Не следует путать с трансакция». Вас, конечно, здесь все поняли. Это просто замечание.
А если не секрет, в каких ваших учебниках употреблялось «трансакция»?
Все хорошо. Кроме транСакций. Transaction, но транЗакция. Прошу прощения, но сильно режет глаз такое написание.
Гранты из Сколково ожидаются?
Примерно такой же.

select doctype from analytics.docs

Время выполнения запроса 0.187 sec

select doctype, lastsigndate from analytics.docs

Время выполнения запроса 0.204 sec
Согласен, опередили немножко.
Сами подумайте, когда перед разработчиками стоит задача оптимизировать СУБД, наверное, чтение всей строки таблицы перед ними будет маячить как красный флаг для быка.
Не уверен, что пример будет показательный (слишком много нюансов может быть), но попробовал выполнить два запроса (DB2 9.5, RHEL 5). Таблица содержит 25`000`000 строк и 12 столбцов. Индекс на ID в таблице есть.
select * from analytics.docs

Время выполнения запроса: 0.235 sec
select id from analytics.docs

Время выполнения запроса: 0.188 sec
Так обычно и есть. Есть транзакционная (оперативная) база — а есть хранилище. Мало кто нагружает оперативную базу запросами аналитики. В случае, если необходимы актуальные данные для каких-либо аналитических отчетов, организуют репликацию данных (как правило, актуализация «ноль-в-ноль» нужна не для всех отчетов, поэтому объем реплицируемых данных не очень велик).
Думаю, для iPad 5 как раз по размерам подойдет. Apple стоит приглядеться.
Алгоритм описан вот здесь. С ядрышками, интегралами и прочими диф.урами.
Не знаю где там есть магнивый сплав, может быть на петельках, на которых экран держится, или внутри. А снаружи везде пластмасса, причем не самая прочная. (Говорю про T60 и T61). Сверху крышка монитора посыпана какой то крошкой, не то титановой, не то магниевой, но царапается и заляпывается от этого крышка не меньше. Корпус хлипкий, легонькое захлопывание крышки монитора привело к растрескиванию корпуса и ослабеванию фиксации (на клавиатуре лежал RSA ключ, толщиной в сантиметр примерно). Так что, уж чему-чему, а прочности ThinkPad от Lenovo не позавидуешь.
В этом «пруфлинке» они наш GSM «JSM»-ом обзывают. А GPS — JPS. «Поубывал бы хадов» =) Такое ощущение, что по телефону кто-то эти аббревиатуры диктовал.
Видимо, все-таки не все так радужно. Час назад выложил на сайт одной компании новую страницу, даже sitemap обновил для Google, но в индексе ее по-прежнему нет.
Думаю, что troorl1985 прав: все-таки остался список ресурсов которые гугл индексирует чаще и для которых Caffeine моментально обновляет индекс. Для сайтов попроще все осталось как и было.
Не согласен относительно реплик о бесполезности оконного интерфейса в браузере. Они чрезвычайно полезны во Front-end'ах, например, аналитических системах и т.д. Но там такой «кучерявости» конечно не требуется. Достаточно аскетизма ExtJS.

Информация

В рейтинге
Не участвует
Откуда
Paris, Paris, Франция
Дата рождения
Зарегистрирован
Активность