|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.03.2014, 09:24 | #11 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Дата (время не учитываем для примера) - 4 байта. Целое. Обрабатывается процессором, полностью помещаясь в его регистры Строка (8-12 байт ANSI, а если юникод то еще хуже) - В регистр процессора не помещается. Постоянно требуется ее выборка из планки памяти, что на порядок замедляет вычисление. Допустим нужно провести сравнение даты и даты: Тип "Дата": 1-Взять первую дату поместить в регистр 4байта 2-Взять вторую дату сразу сравнить 4байта Два такта Тип "Строка ANSI" 1- 12 раз взять по байту в регистр 2-12 раз сравнить с другим байтом в памяти 24 такта Предположим у тебя в базе 1000000 записей. (Это не так много) С типом строки у тебя проц выполнит 24 млн операций против 2 млн с типом дата. А теперь умножь это на миллион пользователей, плюс усложни логику БД. Итого вывод: Сравнение в запросах типа SELECT строк (даже если они проиндексированы) обходится компьютеру в сотню раз дороже чем сравнение обычного числа, которое и представляет дата (даже если это вещественное дата-время)
I'm learning to live...
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |