Лучшие советы по оптимизации для Webservice и MySQL - PullRequest
0 голосов
/ 04 июня 2011

Я планирую создать клиент для iPhone, который будет использовать веб-сервис на базе XML-RPC.Мне нужно построить лучшую системную архитектуру для удовлетворения следующих потребностей:

  1. Это должно быть безопасно
  2. Время отклика должно быть быстрым и быстрым
  3. Производительность

Вот как я думаю, что моя архитектура будет такой:

  1. Клиент iPhone будет вызывать веб-сервис через HTTPS (сохранение безопасности в уме), я планирую связать UNIQUE API KEY, который будетпередаваться для вызова любого метода, предоставляемого XML-RPC.Тот же ключ будет проверен на стороне сервера.
  2. Веб-служба, в свою очередь, будет вызывать хранимые процедуры MYSQL
  3. Большая часть моей бизнес-логики будет идти в хранимой процедуре для повышения производительности, как это было быбыть скомпилированным кодом
  4. Веб-служба XML RPC будет возвращать ответ в формате XML обратно на iPhone.

Итак, мои основные запросы:

  1. IsHTTPS и API Ключ достаточно с точки зрения безопасности, что еще можно сделать, чтобы сделать его более безопасным?

  2. Для производительности и оптимизации - достаточно ли хранимых процедур или мы рекомендуем использовать MYSQLmem-cahce - моя система на самом деле нуждается в извлечении записей, основанных на географическом местоположении, всех ближайших отелях и ресторанах - так что расстояние всегда будет отличаться для каждого пользователя, и это не будет один и тот же запрос - поможет mem-cache?

  3. Какие дополнительные вещи могут помочь улучшить как безопасность, оптимизацию и производительность.
  4. Я также стремлюсьo индексировать поля базы данных.
  5. Я пропустил упоминание - система построена на PHP + MySql

Будем благодарны за все предложения, пожалуйста, пишите свои мысли, даже если они будутмаленькая вещь, чтобы сделать!

Спасибо

Ответы [ 2 ]

1 голос
/ 04 июня 2011

Для оптимизации MYSQL вы можете взглянуть на обзор оптимизации на dev.mysql.com. В справочных разделах также есть более подробные предложения .

0 голосов
/ 22 августа 2014

Советы по Mysql Query.

  • вы должны знать, что такое индекс в mysql и как установить индекс с соответствующим столбцом
  • попытаться написать запрос на соединение с индексным столбцом.это даст быстрый результат
  • избегайте использования функции rand() в запросе.
  • избегайте использования LIKE в запросе [первый альтернативный метод поиска]
  • , если выиспользуете DISTINCE попробуйте использовать LIMIT с этим в запросе
  • не используйте ненужные () в запросе
  • group by и having предложения тяжелы
  • на месте OR попробуйте использовать UNION, если возможно

Importent

  • Всегда используйте LIMIT 1, если вызнаю, что результат в одной строке.Потому что в таблице у вас есть (пример) 1000000 записей вашего выходного трека в 10000 первой записи.если предел равен 1, индекс остановится, контроль выполнения не будет искать оставшуюся запись для вывода, и результат будет быстрым.

  • Используйте in-bult функцию mysql в запросе, но не используйте in-bult функцию в предложении where со столбцом индекса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...