#4594: От сих до сих // 3-11-2010, 15:45

Заказали как-то нам с коллегой-фрилансером оптимизацию складской программы по учёту пластиковых карт. Суть проста: на склад приходят коробки с картами, упакованными в пачки по тысяче и более штук. На каждой пачке указан диапазон номеров находящихся в ней карт. Проблема была в том, что карты добавлялись в базу о-о-очень медленно и столь же медленно списывались при отправке на точки продажи. Развозящий карты курьер рассказал, что за время обработки одной партии (два-четыре часа, учитывая миллионные тиражи и древнее складское железо) он успевал объехать несколько точек, перекусить в кафе и вернуться назад.

Открыли мы исходный код и присвистнули: неизвестный индус отечественного разлива пошёл простейшим путем. Для каждой карты создавалась отдельная запись в базе, состоящая из её номера. Немного покумекав, мы организовали хранение диапазонами. Учитывая, что номера карт уникальны и идут строго по порядку, достаточно было ввести первый и последний номер в партии, чтобы она попала в базу в виде всего двух записей. При выдаче части партии диапазон просто разбивался надвое.

К сожалению, тестовый запуск провалился: заказчик, видя, что программа одинаково моментально добавляет диапазоны в сто и в сто тысяч карт, заподозрил нас в мошенничестве и не решился на обновление.

Навигация

Наш опрос

Оказался ли наш сайт полезен вам?
Да, разумеется
Немного
Не полезен

Календарь

«    Май 2012    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 

Реклама

▲ Наверх