2009-11-23 2 views
0

Прежде всего, я автодизакт, поэтому я не знаю, как насчет оптимизации и т. Д. Я создал сайт социальной сети.Нужна помощь по оптимизации

Он содержит 29 таблиц прямо сейчас. Я хочу расширить его функциональность, добавив такие вещи, как желтые страницы, события и т. Д., Чтобы сделать его более похожим на портал.

Теперь вопрос в том, должен ли я просто добавлять таблицы в одну базу данных или использовать другую базу данных?

И в случае, если я создаю новую базу данных, я также хочу, чтобы пользователи могли комментировать бизнес-листинг и т. Д., Так же как и обзоры. Итак, как я смогу вытащить записи, так как обзоры будут в одной базе данных и детали пользователей на другом.

Возможно ли объединение таблиц по двум различным базам данных?

+0

Нужно ли вам оптимизировать? 29 столов не звучат так, как будто это огромная сумма.Насколько велики эти таблицы и сколько одновременных пользователей у вас есть? –

+0

Вот что я понятия не имею, если это нужно сделать в том же БД или нет. Вся база данных только 2MB. Но поскольку это веб-сайт социальной сети, я хочу оптимизировать с самого начала. Получается около 20 одновременных пользователей все время, ожидая, что это займет около 1000 в 2 месяца. Поэтому, пожалуйста, ответьте на основании 1000. Спасибо –

+0

В настоящее время я работаю над проектом, где несколько таблиц имеют более 120 ГБ каждый - я не думаю, что вы ударите любые технические ограничения. – nickf

ответ

2

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

Основная причина, по которой я мог видеть, что отделяет ваши Желтые страницы, - это если вы хотите, чтобы один YellowPages был доступен для нескольких разных, не взаимодействующих веб-сайтов. Тем не менее, предположительно, вы не хотели бы перекликаться с комментариями в списках, поэтому комментарии должны храниться в базах данных веб-сайта, а не в базе данных YellowPages. И это просто звучит как кошмар.

2

Не оптимизируйте, пока вам не понадобится.

Если характеристики в порядке, обратитесь к . Проще всего поддерживать.

Мониторинг производительности вашего сайта, и если он начнет замедляться, выясните, что именно вызывает замедление и сосредоточиться на производительности только в этом разделе.

1

Вы можете запросить и объединить таблицы из двух разных баз данных - вам просто нужно указать таблицы в формате dbname.tablename.

SELECT a.username, b.post_title 
FROM dbOne.users a INNER JOIN dbTwo.posts b USING (user_id) 

Однако, это может сделать управление и обслуживание намного более сложными для вас. Например, вам нужно будет отслеживать, какая таблица принадлежит базе данных, и постоянно будет добавлять имена баз данных во все ваши запросы. Когда придет время для резервного копирования данных, ваша работа также будет увеличиваться. Базы данных MySQL могут легко содержать сотни таблиц, поэтому я не вижу преимуществ в ее разложении - просто придерживайтесь одного.

1

Вы можете доказать, что алгоритм является самым быстрым. Библиотека math.h и C очень оптимизирована с полувека, а другие очень продвинуты, когда оптимизация - perl strucutres. Просто не ставьте все в сети, чтобы упростить отладку. Существуют соглашения, старайтесь держать каждого программиста в команде после того же соглашения. Какая конвенция является «правильной», делает ее менее оптимальной, чем последовательная и последовательная. Производительность - это последнее, что вы делаете, безопасность и разборчивость. Читайте о нотации ordo зависит от программного обеспечения, тогда как субоптимальное программное обеспечение может быть быстрее, чем оптимальное относительно другого оборудования. Полностью загруженный спагетти код без структуры может реагировать во много раз быстрее, чем наиболее проверенное оптимальное программное обеспечение относительного оборудования.

Смежные вопросы