Кто хорошо разбирается в mysql? - Visavi.net
https://visavi.net/
RSS - Visavi.nethttps://visavi.net/assets/img/images/logo_small.pngRSS - Visavi.net
https://visavi.net/
[email protected] (admin)[email protected] (admin)Sun, 01 Dec 2024 15:45:17 +0300блин, подскажите, че делать<br>
делаю экспорт бд<br>
выходит такая шняга..<br>
-- Дамп данных таблицы `alert`<br>
--<br>
<br>
INSERT INTO `alert` (`id`, `alert_user`, `alert_autor`, `alert_message`, `alert_time`, `alert_close`) VALUES<br>
(1208, 4, 1, 'Личное Ñообщение от <b>ramzes</b><br /><a href="/private/chat/1/"><b>Re[32]: Изменение авторитета</b></a>', 1307971874, '0');<br>
уже все перепробовал вроде..<br>
кодировка и сравнение utf8<br>
файл сохранения соответственно тоже, и ни фига((
https://visavi.net/topics/373/376773
Кто хорошо разбирается в mysql? ramzesMon, 13 Jun 2011 17:39:23 +0400Сообщенияhttps://visavi.net/topics/373/376773Ковырялся в гугле, и наткнулся на нее)))<br>
Сейчас сижу по новой приват пишу))
https://visavi.net/topics/373/374702
Кто хорошо разбирается в mysql? Nu3oNFri, 10 Jun 2011 23:53:31 +0400Сообщенияhttps://visavi.net/topics/373/37470251. <strong>Денис Сергеевич</strong>, ))
https://visavi.net/topics/373/374697
Кто хорошо разбирается в mysql? shiftyFri, 10 Jun 2011 23:49:43 +0400Сообщенияhttps://visavi.net/topics/373/37469750, жесскую тему откопал....
https://visavi.net/topics/373/374694
Кто хорошо разбирается в mysql? ДенFri, 10 Jun 2011 23:47:27 +0400Сообщенияhttps://visavi.net/topics/373/374694<blockquote class="blockquote"><strong>Vantuz</strong> (16 Сентября 2009 / 00:59)<br>
вот типа такого что-то должно быть,<br>
но может как-то проще можно<br>
SELECT * FROM inbox WHERE inbox_user=$uz AND inbox_author=$log UNION ALL SELECT * FROM outbox WHERE outbox_user=$uz AND outbox_author=$log ORDER BY inbox_time DESC;</blockquote>
Решил я по твоему методу сделать, так сто раз пожалел =)<br>
Решил сделать примерно такую структуру<br>
<br>
<pre class="prettyprint">CREATE TABLE `rotorcms`.`privat` (
`privat_id` int NOT NULL AUTO_INCREMENT,
`privat_type` enum('in', 'out') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`privat_inbox` varchar(21) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`privat_otbox` varchar(21) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`privat_time` int NOT NULL,
`privat_text` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`privat_read` bool NOT NULL,
PRIMARY KEY (`privat_type`, `privat_inbox`, `privat_otbox`, `privat_id`),
INDEX ( `privat_id` )
)
ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;</pre>
https://visavi.net/topics/373/374689
Кто хорошо разбирается в mysql? Nu3oNFri, 10 Jun 2011 23:39:06 +0400Сообщенияhttps://visavi.net/topics/373/374689C поиском что-то сложновато <br>
при обработке своей функцией sqliteCreateFunction ('utflower' , 'rus_utf_tolower'); <br>
и выборке из 50 тыс сообщений уходит 4 сек,<br>
если использовать встроенную функция LOWER() или UPPER() то 0.4 сек, но при этом не преобразовывает UTF8.<br>
Все это из-за преобразования в верхний или нижний регистр<br>
Индексация не сильно помогает, а база увеличилась более чем в 2 раза, было 12.5мб, стало 28мб<br>
Не знаю даже что и делать
https://visavi.net/topics/373/19898
Кто хорошо разбирается в mysql? Вантуз-менFri, 18 Sep 2009 00:23:54 +0400Сообщенияhttps://visavi.net/topics/373/19898#46 Насчет времени поиска - всецело зависит от размера базы и правильной индексации.<br>
К примеру, если ищешь в поле TEXT, то если нужен быстрый поиск, надо создать полнотекстовый индекс. Да, зохавает до 30% дополнительного пространства базы, но зато при поиске, все будет максимально быстро и снизится нагрузка на базу.
https://visavi.net/topics/373/19897
Кто хорошо разбирается в mysql? AlkatraZThu, 17 Sep 2009 16:15:45 +0400Сообщенияhttps://visavi.net/topics/373/19897#45 Нет, ты не выйграешь от разделения.<br>
Таблицы абсолютно одинаковой структуры и хранят одинаковые данные. Потому, смело можно хранить в одной таблице и потом сортировать выборкой.<br>
К примеру, в твоем варианте:<br>
время 1-го запроса + время 2-го запроса + время посылки 1 SQL + время посылки 2-го SQL<br>
Время посылки, я имею ввиду комманду mysql_query() ибо она тоже съедает определенное время на обработку.<br>
Для дной таблицы, общее время получается меньше. А если еще правильно проиндексируешь, вообще быстро будет.
https://visavi.net/topics/373/19896
Кто хорошо разбирается в mysql? AlkatraZThu, 17 Sep 2009 16:13:19 +0400Сообщенияhttps://visavi.net/topics/373/19896Сильно я думаю не нагрузит,норм
https://visavi.net/topics/373/19895
Кто хорошо разбирается в mysql? АндрюхаThu, 17 Sep 2009 14:21:29 +0400Сообщенияhttps://visavi.net/topics/373/19895Нужна еще помощь, как лучше сделать полноценный поиск по базе<br>
Каким образом лучше искать, Я так понял LIKE ищет не очень быстро<br>
Как искать например если пользователь ввел сразу три слова и надо найти не по И а по ИЛИ<br>
я делаю сейчас примерно так<br>
<pre class="prettyprint"><?php
Database::$forum->sqliteCreateFunction ('utflower' , 'rus_utf_tolower');
$querysearch = Database::$forum->query("SELECT * FROM topics WHERE utflower(topics_title) LIKE '%".rus_utf_tolower($findme)."%' ORDER BY topics_last_time ASC;");
dump($querysearch->fetchAll());
</pre>
Все нормально, но это ищет точное сходство, я думаю сделать что-то типа если слов несколько то разбивать их и добавлять в поиск условие ... OR LIKE %...% OR LIKE %...% ... как по производительности кто знает?
https://visavi.net/topics/373/19894
Кто хорошо разбирается в mysql? Вантуз-менThu, 17 Sep 2009 13:58:43 +0400Сообщенияhttps://visavi.net/topics/373/1989444. NEx в данном примере да быстрее, а если нужно отделить входящие от отправленных и когда сообщений очень много, тогда лучше делать в разных таблицах, например на висави в данный момент около 20мб приватных входящих сообщений только, а фактически максимальный (20кб*2500юзеров) /1024 = 48 мб, это если никто почту чистить не будет
https://visavi.net/topics/373/19893
Кто хорошо разбирается в mysql? Вантуз-менThu, 17 Sep 2009 13:53:13 +0400Сообщенияhttps://visavi.net/topics/373/19893#36, поддерживаю. Запрос будет быстрее выполняться из одной таблицы чем из двух.
https://visavi.net/topics/373/19892
Кто хорошо разбирается в mysql? ДимонWed, 16 Sep 2009 15:10:33 +0400Сообщенияhttps://visavi.net/topics/373/19892Исправляюсь<br>
<pre class="prettyprint">
SELECT inbox.id AS inbox_id,outbox.id AS outbox_id FROM inbox,outbox WHERE (inbox.user='$log' AND inbox.autor='$uz') OR (inbox.autor='$log' AND inbox.user='$uz') ORDER BY inbox.time,outbox.time;
</pre>
Вот так лучше.
https://visavi.net/topics/373/19891
Кто хорошо разбирается в mysql? ВалерийWed, 16 Sep 2009 12:30:48 +0400Сообщенияhttps://visavi.net/topics/373/19891#33 Как то так<br>
<pre class="prettyprint">
SELECT inbox.id,outbox.id FROM inbox,outbox WHERE (inbox.user='$log' AND inbox.autor='$uz') OR (inbox.autor='$log' AND inbox.user='$uz') ORDER BY inbox.time,outbox.time;
</pre>
https://visavi.net/topics/373/19890
Кто хорошо разбирается в mysql? ВалерийWed, 16 Sep 2009 12:27:36 +0400Сообщенияhttps://visavi.net/topics/373/19890#39 с метками полюбому придется возиться.<br>
Как же ты будешь отслеживать, прочитал юзер письмо, или нет?
https://visavi.net/topics/373/19889
Кто хорошо разбирается в mysql? AlkatraZWed, 16 Sep 2009 09:55:46 +0400Сообщенияhttps://visavi.net/topics/373/19889