Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2014, 09:24   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
почему в строке плохо?
Немного математики к вышесказанному:
Дата (время не учитываем для примера) - 4 байта. Целое. Обрабатывается процессором, полностью помещаясь в его регистры
Строка (8-12 байт ANSI, а если юникод то еще хуже) - В регистр процессора не помещается. Постоянно требуется ее выборка из планки памяти, что на порядок замедляет вычисление.
Допустим нужно провести сравнение даты и даты:
Тип "Дата":
1-Взять первую дату поместить в регистр 4байта
2-Взять вторую дату сразу сравнить 4байта
Два такта

Тип "Строка ANSI"
1- 12 раз взять по байту в регистр
2-12 раз сравнить с другим байтом в памяти
24 такта

Предположим у тебя в базе 1000000 записей. (Это не так много)
С типом строки у тебя проц выполнит 24 млн операций против 2 млн с типом дата.
А теперь умножь это на миллион пользователей, плюс усложни логику БД.

Итого вывод: Сравнение в запросах типа SELECT строк (даже если они проиндексированы) обходится компьютеру в сотню раз дороже чем сравнение обычного числа, которое и представляет дата (даже если это вещественное дата-время)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
class Date Alexander1205 Общие вопросы C/C++ 1 04.06.2011 21:00
класс Date fokinamasha Общие вопросы C/C++ 1 31.03.2011 21:16
Функция Date warshadow Microsoft Office Access 5 04.11.2009 01:57
Date 1.0.4 Bigtyoma Софт 4 14.04.2009 10:02
Программка на Delphi показывающая сколько дней осталось до какого-либо события Bigtyoma Общие вопросы Delphi 3 27.03.2009 19:15