Задать вопрос
  • В mysql для быстрого поиска по дате лучше использовать timestamp как int или как date (datetime)?

    php666
    @php666
    PHP-макака
    Сделал базу test
    CREATE TABLE `test` (
      `name` varchar(255) NOT NULL,
      `date_int` int(11) UNSIGNED NOT NULL,
      `date_time` datetime NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    ALTER TABLE `test`
      ADD KEY `date_int` (`date_int`),
      ADD KEY `date_time` (`date_time`);
    COMMIT;


    заполнил значениями дат, от 1970-01-01 00:00:01 до 1970-01-05 11:02:29, с разницей 1 секунда, итого вышло 1 603 869 строк (далее php умер и мне лень было настраивать Maximum execution time).

    Разницы вообще нет, если искать точное соответствие вплоть до секунды:
    SELECT * FROM `test` WHERE date_int = UNIX_TIMESTAMP('1970-01-03 12:12:12')

    id 	select_type 	table 	type 	possible_keys 	key 	key_len 	ref 	rows 	Extra 	
    1 	SIMPLE 	test 	ref 	date_int 	date_int 	4 	const 	2 	NULL

    EXPLAIN SELECT * FROM `test` WHERE date_time = '1970-01-03 12:12:12'

    id 	select_type 	table 	type 	possible_keys 	key 	key_len 	ref 	rows 	Extra 	
    1 	SIMPLE 	test 	ref 	date_time 	date_time 	5 	const 	2 	NULL


    Так что фанатик прав, нехрен для даты использовать числа.
    Ответ написан
    Комментировать
  • После переноса на сервер, сайта на yii2, assets font-awesome дает ошибку 403?

    @DragonChris Автор вопроса
    Junior full stack)
    Всем спасибо, проблему решил!
    Проблема была в конфиге домена:
    <Directory /var/www/virtual/domen.my>
        Options +SymLinksIfOwnerMatch
        Require all granted  
    </Directory>


    Изменил на :
    <Directory /var/www/virtual/domen.my>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
    </Directory>
    Ответ написан
    1 комментарий