Кто хорошо разбирается в mysql? - Visavi.net https://visavi.net/ RSS - Visavi.net https://visavi.net/assets/img/images/logo_small.png RSS - 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, &#039;Личное сообщение от &lt;b&gt;ramzes&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;/private/chat/1/&quot;&gt;&lt;b&gt;Re[32]: Изменение авторитета&lt;/b&gt;&lt;/a&gt;&#039;, 1307971874, &#039;0&#039;);<br> уже все перепробовал вроде..<br> кодировка и сравнение utf8<br> файл сохранения соответственно тоже, и ни фига(( https://visavi.net/topics/373/376773 Кто хорошо разбирается в mysql? ramzes Mon, 13 Jun 2011 17:39:23 +0400 Сообщения https://visavi.net/topics/373/376773 Ковырялся в гугле, и наткнулся на нее)))<br> Сейчас сижу по новой приват пишу)) https://visavi.net/topics/373/374702 Кто хорошо разбирается в mysql? Nu3oN Fri, 10 Jun 2011 23:53:31 +0400 Сообщения https://visavi.net/topics/373/374702 51. <strong>Денис Сергеевич</strong>, )) https://visavi.net/topics/373/374697 Кто хорошо разбирается в mysql? shifty Fri, 10 Jun 2011 23:49:43 +0400 Сообщения https://visavi.net/topics/373/374697 50, жесскую тему откопал.... 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(&#039;in&#039;, &#039;out&#039;) 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? Nu3oN Fri, 10 Jun 2011 23:39:06 +0400 Сообщения https://visavi.net/topics/373/374689 C поиском что-то сложновато <br> при обработке своей функцией sqliteCreateFunction (&#039;utflower&#039; , &#039;rus_utf_tolower&#039;); <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? AlkatraZ Thu, 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? AlkatraZ Thu, 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">&lt;?php Database&#58;&#58;$forum-&gt;sqliteCreateFunction (&#039;utflower&#039; , &#039;rus_utf_tolower&#039;); $querysearch = Database&#58;&#58;$forum-&gt;query(&quot;SELECT * FROM topics WHERE utflower(topics_title) LIKE &#039;%&quot;.rus_utf_tolower($findme).&quot;%&#039; ORDER BY topics_last_time ASC;&quot;); dump($querysearch-&gt;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/19894 44. 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=&#039;$log&#039; AND inbox.autor=&#039;$uz&#039;) OR (inbox.autor=&#039;$log&#039; AND inbox.user=&#039;$uz&#039;) 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=&#039;$log&#039; AND inbox.autor=&#039;$uz&#039;) OR (inbox.autor=&#039;$log&#039; AND inbox.user=&#039;$uz&#039;) 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? AlkatraZ Wed, 16 Sep 2009 09:55:46 +0400 Сообщения https://visavi.net/topics/373/19889