Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: insert - сильно грузит

Сообщения:  [1-10]   [11-19] 

 
 автор: kosta_in_net   (12.01.2010 в 10:19)   письмо автору
 
   для: Trianon   (12.01.2010 в 10:14)
 

спасибо. Просто таких задач не стояло, так что, не приходилось искать им решений. А тыт случайно прочел и заинтересовался, как...

  Ответить  
 
 автор: Trianon   (12.01.2010 в 10:14)   письмо автору
 
   для: kosta_in_net   (12.01.2010 в 03:20)
 

>кстати, а как хранить ip в 4-байтном варианте?
Как хранить? В типе int.
Тип int - это как раз 4-байовое целое.
Или как преобразовывать?

Так:
>$ip = "93.158.128.0";
>$arr = explode(".", $ip);
>$data=chr($arr[0]).chr($arr[1]).chr($arr[2]).chr($arr[3]);
>? 4 символа получается. Или есть варианты разумней?

Это у Вас получилась строка из 4 символов, байты которых равны исх. числам.
Дальше нужна перепаковка (pack/unpack)
По-моему, проще обойтись ip2long() (для php) либо INET_ATON() (для MySQL)

  Ответить  
 
 автор: Loki   (12.01.2010 в 10:04)   письмо автору
 
   для: kosta_in_net   (12.01.2010 в 03:20)
 

Преобразовать в число. Те же 4 байта, но их уже можно будет использовать в выражениях.

  Ответить  
 
 автор: kosta_in_net   (12.01.2010 в 03:20)   письмо автору
 
   для: Trianon   (11.01.2010 в 03:17)
 

кстати, а как хранить ip в 4-байтном варианте? Так:
$ip = "93.158.128.0";
$arr = explode(".", $ip);
$data=chr($arr[0]).chr($arr[1]).chr($arr[2]).chr($arr[3]);
? 4 символа получается. Или есть варианты разумней?

  Ответить  
 
 автор: Trianon   (11.01.2010 в 03:17)   письмо автору
 
   для: Diplex   (11.01.2010 в 00:10)
 

Как я могу советовать?
Я же не знаю, какую сущность эта таблица описывает.
Естественный уникальный ключ обычно является хорошим претендентом на роль первичного.
Если это слишком громоздкое для практического доступа поле (или набор полей) - тогда имеет смысл ввести суррогатный.

  Ответить  
 
 автор: Diplex   (11.01.2010 в 00:10)   письмо автору
 
   для: Trianon   (10.01.2010 в 22:52)
 

Ну я конечно имел ввиду не дамп, а структуру... Какое поле лучше сделать первичным? Или добавить поле id и сделать его первичным, но оно мне не понадобится... как поступить?

  Ответить  
 
 автор: Trianon   (10.01.2010 в 22:52)   письмо автору
 
   для: Diplex   (10.01.2010 в 15:59)
 

Дамп у Вас снят с таблицы вполне корректно.
А по структуре я подсказал.

  Ответить  
 
 автор: Diplex   (10.01.2010 в 15:59)   письмо автору
 
   для: Trianon   (10.01.2010 в 10:01)
 

Можете показать, как переделать дамп, чтобы было правильно?

  Ответить  
 
 автор: Trianon   (10.01.2010 в 10:01)   письмо автору
 
   для: Diplex   (10.01.2010 в 02:55)
 

Но здесь нет ни одного индекса, даже первичного. А значит серверу придется просканировать всё табличное пространство, чтобы добраться до хвоста.

IP, меж тем, в 4 байта влезает.
Когда будете создавать, подумайте, что проще проиндексировать - 4 байта или 15.

  Ответить  
 
 автор: Diplex   (10.01.2010 в 02:55)   письмо автору
 
   для: Trianon   (09.01.2010 в 15:31)
 

Вот дамп:


CREATE TABLE `ip_tm_nm_ob` (
  `ip` varchar(15) default NULL,
  `tm` datetime default NULL,
  `nm` varchar(100) default NULL,
  `ob` varchar(6) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

  Ответить  

Сообщения:  [1-10]   [11-19] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования