Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Оптимизация таблицы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Tsigyr
Отправлено: 08 Мая, 2013 - 17:56:44
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




Нормально ли у меня оптимизирована таблица? Если нет, помогите плиз ее оптимизировать..
CODE (SQL):
скопировать код в буфер обмена
  1. CREATE TABLE IF NOT EXISTS `tovary` (
  2.   `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3.   `name` varchar(220) NOT NULL DEFAULT '',
  4.   `proizvoditel` varchar(220) NOT NULL DEFAULT '',
  5.   `cat` varchar(220) NOT NULL DEFAULT '',
  6.   `desc` text NOT NULL DEFAULT '',
  7.   `price` varchar(220) NOT NULL DEFAULT '',
  8.   `view` varchar(220) NOT NULL DEFAULT '0',
  9.   `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  10.   `buy` varchar(220) NOT NULL DEFAULT '0',
  11.   `status` enum('1','2') DEFAULT '1',
  12.   PRIMARY KEY  (`id`)
  13. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


Где:
id - id товара;
name - название товара;
proizvoditel - производитель товара;
cat - категория товара; ( хранится id категории в которой лежит товар)
desc - описание;
price - цена;
view - колличество просмотров;
time - время добавления товара;
buy - колл-во покупок;
status - статус товара (1 показывается, 2 не показывается)


Какой тип таблиц лучше выбирать? MyISAM или InnoDB?
Может для полей cat price view buy указать тип INT?

PS: `status` enum('1','2') не в счет, так как еще не определился как лучше хранить статусы..

(Отредактировано автором: 08 Мая, 2013 - 18:38:58)

 
 Top
caballero
Отправлено: 08 Мая, 2013 - 18:08:51
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




сначала отучись давть полям имена совпадающие с ключевыми словами
view, time и т.д.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Tsigyr
Отправлено: 08 Мая, 2013 - 18:11:58
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




caballero, А какие имена нужно давать? И чем это плохо..? Улыбка
 
 Top
caballero
Отправлено: 08 Мая, 2013 - 18:13:26
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




НЕ овпадающие с ключевыми словами


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Tsigyr
Отправлено: 08 Мая, 2013 - 18:15:44
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




удалено

(Отредактировано автором: 08 Мая, 2013 - 18:24:39)

 
 Top
caballero
Отправлено: 08 Мая, 2013 - 18:19:01
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




ключевыми словами Mysql

(Отредактировано автором: 08 Мая, 2013 - 18:19:23)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Tsigyr
Отправлено: 08 Мая, 2013 - 18:23:04
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




чем не совсем понял.. А где можно посмотреть список этих слов? И чем это плохо?
 
 Top
caballero
Отправлено: 08 Мая, 2013 - 18:25:10
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




ключевые слова - это те которые используются в SQL запросах и типах данных

плохо тем что надо не забывать каждый раз его брать в апострофы что чревато возможными ошибками и снижением читабельности кода

(Отредактировано автором: 08 Мая, 2013 - 18:26:19)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Tsigyr
Отправлено: 08 Мая, 2013 - 18:26:35
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




А разве time и view встречается в запросах? Улыбка
(Добавление)
И какой тип таблиц лучше выбирать? MyISAM или InnoDB?
И может для полей cat price view buy указать тип INT?

(Отредактировано автором: 08 Мая, 2013 - 18:37:52)

 
 Top
caballero
Отправлено: 08 Мая, 2013 - 18:45:52
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
А разве time и view встречается в запросах?

разумеется

Цитата:
И какой тип таблиц лучше выбирать? MyISAM или InnoDB?

тебе без разницы


Цитата:
И может для полей cat price view buy указать тип INT?

КО говорит что если там целые числа то int если строковые данные то varchar и т.д.

почему бы тебе не почитать хотя бы основы какие нибудь в учеьнике вместо задавать тупые вопросы


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Tsigyr
Отправлено: 08 Мая, 2013 - 18:57:28
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




Да я читал, просто не задумывался о оптимизации особо.
INT намного быстрее будет varchar? Памяти ведь они одинаково занимают?

(Отредактировано автором: 08 Мая, 2013 - 18:58:47)

 
 Top
caballero
Отправлено: 08 Мая, 2013 - 19:13:38
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Да я читал

Цитата:
INT намного быстрее будет varchar? Памяти ведь они одинаково занимают?

взаимоисключающие предложения

я смотрю нынешние "программеры" даже не представляют сколько памяти занимает тип int
скоро доярки в колхозах в разрабы сайтов пойдут

(Отредактировано автором: 08 Мая, 2013 - 19:15:02)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Tsigyr
Отправлено: 08 Мая, 2013 - 19:16:39
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




ну int занимает 4 байта, а в varchar каждый символ 1 байт. Разве не так?
 
 Top
caballero
Отправлено: 08 Мая, 2013 - 19:19:46
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




а ничего что в строка символов может состоять из более чем одного символа?


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Tsigyr
Отправлено: 08 Мая, 2013 - 19:20:55
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




ну вот, int меньше памяти занимает.
сам ответил на свой вопрос Улыбка
а что еще в моем таблице стоит заменить?

(Отредактировано автором: 08 Мая, 2013 - 19:21:27)

 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB