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
Форумы портала PHP.SU :: Версия для печати :: Оптимизация таблицы
Форумы портала PHP.SU » PHP » Программирование на PHP » Оптимизация таблицы

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

1. Tsigyr - 08 Мая, 2013 - 17:56:44 - перейти к сообщению
Нормально ли у меня оптимизирована таблица? Если нет, помогите плиз ее оптимизировать..
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') не в счет, так как еще не определился как лучше хранить статусы..
2. caballero - 08 Мая, 2013 - 18:08:51 - перейти к сообщению
сначала отучись давть полям имена совпадающие с ключевыми словами
view, time и т.д.
3. Tsigyr - 08 Мая, 2013 - 18:11:58 - перейти к сообщению
caballero, А какие имена нужно давать? И чем это плохо..? Улыбка
4. caballero - 08 Мая, 2013 - 18:13:26 - перейти к сообщению
НЕ овпадающие с ключевыми словами
5. Tsigyr - 08 Мая, 2013 - 18:15:44 - перейти к сообщению
удалено
6. caballero - 08 Мая, 2013 - 18:19:01 - перейти к сообщению
ключевыми словами Mysql
7. Tsigyr - 08 Мая, 2013 - 18:23:04 - перейти к сообщению
чем не совсем понял.. А где можно посмотреть список этих слов? И чем это плохо?
8. caballero - 08 Мая, 2013 - 18:25:10 - перейти к сообщению
ключевые слова - это те которые используются в SQL запросах и типах данных

плохо тем что надо не забывать каждый раз его брать в апострофы что чревато возможными ошибками и снижением читабельности кода
9. Tsigyr - 08 Мая, 2013 - 18:26:35 - перейти к сообщению
А разве time и view встречается в запросах? Улыбка
(Добавление)
И какой тип таблиц лучше выбирать? MyISAM или InnoDB?
И может для полей cat price view buy указать тип INT?
10. caballero - 08 Мая, 2013 - 18:45:52 - перейти к сообщению
Цитата:
А разве time и view встречается в запросах?

разумеется

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

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


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

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

почему бы тебе не почитать хотя бы основы какие нибудь в учеьнике вместо задавать тупые вопросы
11. Tsigyr - 08 Мая, 2013 - 18:57:28 - перейти к сообщению
Да я читал, просто не задумывался о оптимизации особо.
INT намного быстрее будет varchar? Памяти ведь они одинаково занимают?
12. caballero - 08 Мая, 2013 - 19:13:38 - перейти к сообщению
Цитата:
Да я читал

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

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

я смотрю нынешние "программеры" даже не представляют сколько памяти занимает тип int
скоро доярки в колхозах в разрабы сайтов пойдут
13. Tsigyr - 08 Мая, 2013 - 19:16:39 - перейти к сообщению
ну int занимает 4 байта, а в varchar каждый символ 1 байт. Разве не так?
14. caballero - 08 Мая, 2013 - 19:19:46 - перейти к сообщению
а ничего что в строка символов может состоять из более чем одного символа?
15. Tsigyr - 08 Мая, 2013 - 19:20:55 - перейти к сообщению
ну вот, int меньше памяти занимает.
сам ответил на свой вопрос Улыбка
а что еще в моем таблице стоит заменить?

 

Powered by ExBB FM 1.0 RC1