Ответ
 
Опции вопроса Поиск в этом вопросе Опции просмотра
  #1  
Старый 16.10.2011, 16:50
Аватар для Guest
Guest
Вопрос
Сообщений: n/a
По умолчанию

Помогите решить задачу на оптимизацию!Есть БД на 4 млн. записей. Каждая запись соотвествует TCP сегменту. У каждой записи есть поля IPsrc, IPdst, TCPsrc, TCPdst и TCP_session_id (проиндексированное). Последнее по умолчанию равно 0. IPsrc и IPdst - это поля хранящие значение IP адреса в формате int(4), TCPscr и TCPdst - хранят значения портов int(2). IPsrc+TCPsrc (индекс.) составляют SocketA, IPdst+TCPdst (индекс.) составляют SocketB. Уникальное сочетание сокетов в записи A-B и B-A составляю уникальный номер сессии. Задача по сочетаниям сокетов пронумеровать tcp_session_id.Я решаю задачу следующим алгоритмом:1. start loop i = 1, i++ 2. select * from ... where tcp_sesion_id = 0 limit 1 3. update ... set tcp_sesion_id = $i ((IPsrc = 'res_col[1]' and TCPsrc = 'res_col[3]' and IPdst = 'res_col[2]' and TCPdst='res_col[4]') or (IPsrc = 'res_col[2]' and TCPsrc = 'res_col[4]' and IPdst = 'res_col[1]' and TCPdst='res_col[2]')) 3. loop Но мне почему-то кажется, что это не потимальный способМожет, подскажите что-нибудь...
Ответить с цитированием
Ответ



Похожие вопросы
Тема Автор Раздел Ответов Последний вопрос или ответ
Помогите оптимизировать плиз Guest Архив вопросов и ответов 0 17.10.2011 12:54
Помогите оптимизировать запрос Guest Продолжение старого архива 0 16.10.2011 16:29
помогите оптимизировать запрос Guest Продолжение старого архива 0 16.10.2011 15:41
Помогите оптимизировать запросы Guest Продолжение старого архива 0 16.10.2011 15:12



© www.otvetnemail.ru - Форум вопросов и ответов.