Коментари
Victor на 16 март 2010 в 0:01 директен линк
https е цаката, но има и друг, по-лесен начин. Променливата code може да е „променлива“ малко по-буквално, т.е. да не е една и съща и да не се повтаря. За целта на двата сървъра ще ти трябва по още 1 таблица. както и скалъпен набързо криптиращ алгоритъм. Също и флууд контрол разбира се.
Марто на 16 март 2010 в 0:47 директен линк
Нещо сериозно си омазал щом в таблица с едва 300к реда търсиш повече от 30-50мс (мили секунди). Липсва ти правилна логика на приложението и правилни индекси или сайта ти се хоства на машина от времето на втората световна война (:
gan на 16 март 2010 в 10:19 директен линк
@Victor ясно е, че HTTPS е по-добре. Тук обаче давам идея за просто и бързо, но достатъчно сигурно решение. При мен code също е динамична @Марто искам да те помоля за малко повече доверие в PHP/MySQL експерта gan. Ако прочетеш внимателно статията ще видиш, че става въпрос за решаване на задача с алгоритъм имащ сложност O(n), което като време съответства на това да преминеш през цялата таблица без да може да ползваш индекс. От статията също става ясно, че се ползва стандартен споделен хостинг.
Марто на 16 март 2010 в 16:14 директен линк
Няма как да те приема за експерт, след като толкова лесно решим проблем го изкарваш сложен алгоритъм (: Мога да ти дам няколко пример с повечко данни и пак работещи десетки(стотици?) пъти по-бързо Ето ти един пример: Виж за колко време минава търсенето по една или повече думи (записите в базата са >600к). При това времето, което се показва в дясно е за всички заявки. Пусни си и други заявки за да се убедиш, че не е някакъв кеш. Машинката, на която се изпълнява не е нищо особено – дори е с едва 1gb рам.
gan на 16 март 2010 в 17:13 директен линк
Оценявам ентусиазма ти да спориш, но очевидно не разбираш това, което ти казвам. Всъщност изглежда нямаш понятие и от сложност на алгоритми. Бързината на търсачката ти се дължи на използваните индекси, защото алгоритъма за търсене ти го позволява. За да разбереш, за какво става въпрос опитай да решиш следната задача. При търсене по дума да изведеш всички думи, които са на разстояние 2: получават се с добавяне или премахване на 1 или 2 символа към търсената дума, както и размяна на два символа спрямо търсената дума. Например при търсене по ivana да извежда тези които съдържат: ivanata, ivanas, ivan, iva, sivana, arivana, avani, ivtana, ivatana и т.н. Ако постигнеш моето време ще те поздравя с връзка към сайта
Марто на 16 март 2010 в 19:37 директен линк
Искаш да ми кажеш, че алгоритъма ти за премахване/добавяне на знаци към дума е в MySQL?
gan на 17 март 2010 в 0:36 директен линк
Имам чувството приятел, че най-после започвам да ти привличам вниманието
Марто на 17 март 2010 в 1:28 директен линк
Набутал си се в блатото
gan на 17 март 2010 в 2:20 директен линк
Малко се съмнявам да успееш да „оптимизираш точно тази част от проекта ми“, не защото аз не съм успял, а защото по този начин ще оптимизираш световно известен алгоритъм за търсене на близки думи, с което вероятно ще спечелиш нобелова награда по математика. Предлагам да спрем разговора тук, защото спря да добавя полезно съдържание в блога. Разбира се, ако искаш може да ми пишеш на имейл. Напиши коментар
|
|
|
|
|
||