У меня есть flex webapp, который извлекает некоторые имена & адресов из базы данных. Проект работает отлично, но я бы хотел сделать это быстрее. Вместо того, чтобы обращаться к базе данных для каждого запроса на имя, я мог предварительно загрузить все имена в массив & фильтровать массив, когда пользователь делает запрос. Прежде чем перейти на этот маршрут, хотя я хотел проверить, возможно ли иметь приложение с 50 000 или 1 миллионом элементов в массиве? Каков предел b/f, это замедляет приложение? (Я ожидаю, что у меня будет много дел с тем, что еще происходит в моем приложении, но ради этого просто предположим, что приложение ТОЛЬКО состоит из этого огромного массива).Сколько данных слишком много для массива?
ответ
Да, вы могли бы набить несколько миллионов предметов в массив, если хотите, и Flash-плеер не будет кричать на вас. Но ты действительно хочешь?
Придется ли приложение занять больше времени, если оно должно загрузить всю базу данных локально, прежде чем работать? Если дополнительное время, необходимое для загрузки большого количества данных, не является существенным, можно ли несколько поисков базы данных реально оптимизировать?
Если у вас есть хороший прецедент для этого, вам нужно обратить внимание на то, как вы используете эти структуры данных. Цитирование по массиву, чтобы найти элемент, будет немного медленным, поэтому вы хотите создавать индексы локально, скорее всего, используя несколько структур хэша. Чем более гибкими вы позволяете поисковые запросы, тем интереснее будут проблемы с индексацией.
Поиск через большой массив может быть медленнее, чем необходимо, особенно если вы говорите о миллионах записей.
Можете ли вы разбить его на несколько небольших массивов с меньшим размером? Если вы всегда ищете номер учетной записи, разделите их на первую цифру или две цифры.
Чтобы ответить прямо на ваш вопрос, чистая обработка AS3 массива элементов размером 50 000 должна быть прекрасной. Как только вы получите более 250 000, я думаю, вам нужно разбить его.
Отображение того, что многие элементы интерфейса отличаются друг от друга. Если вы попытаетесь привязать диаграмму к dataProvider с 10 000 элементами, это слишком много. То же самое для списка или datagrid.
Но для чистых данных модели, а не для ui, я бы рекомендовал до 250 000 в моем опыте.
Если загрузка больших объемов данных (не уверен, что если вы используете списки, хотя), вы могли бы проверить Джеймс Wards пост об использовании AsyncListView с пейджинга, чтобы захватить данные в chuncks в его необходимости. Собираюсь попробовать что-то подобное скоро. В его примерном примере используется 100 000 строк с пейджингом 100 (работает с вызовами типа HttpService/AMF): http://www.jamesward.com/2010/10/11/data-paging-in-flex-4/
- 1. Сколько данных сеанса слишком много?
- 2. Сколько данных слишком много для PDO fetchAll()
- 3. Сколько строк данных слишком много строк данных?
- 4. Сколько задач слишком много?
- 5. MongoDB - Сколько данных слишком много данных?
- 6. Сколько конструкторов слишком много?
- 7. Сколько слоев слишком много?
- 8. Сколько EJB слишком много?
- 9. Сколько задач слишком много
- 10. Сколько абстракции слишком много?
- 11. Сколько NSTimers слишком много?
- 12. Сколько рубиновых потоков слишком много?
- 13. Сколько столбцов таблицы базы данных слишком много?
- 14. Сколько индексов базы данных слишком много?
- 15. Сколько общих настроек слишком много?
- 16. Сколько столбцов слишком много столбцов?
- 17. Сколько перенаправления NGinx слишком много?
- 18. Слишком много индексов для массива
- 19. Сколько параметров функции слишком много?
- 20. Сколько PHP-запросов слишком много?
- 21. Сколько из STL слишком много?
- 22. iPhone: Сколько памяти слишком много?
- 23. Cyclomatic сложность, сколько слишком много?
- 24. Сколько потоковой безопасности слишком много?
- 25. Сколько: attr_accessor слишком много для класса?
- 26. Сколько тегов div слишком много?
- 27. Сколько накладных расходов слишком много?
- 28. Импорт модулей - сколько слишком много?
- 29. Сколько буферов nginx слишком много?
- 30. mysql - сколько столбцов слишком много?
«так что вы хотите локально создавать индексы» ... что вы имеете в виду? –
Я имею в виду создание структур объектов, которые используют соответствующий индекс в качестве своего ключа и указывают на область вашего массива. Например, если ваш массив отсортирован соответствующим образом, у вас может быть объект с одним буквенным ключом, причем каждый ключ указывает на первый индекс в вашем большом массиве, у которого есть определенное поле, начинающееся с этой буквы. Используя этот объект и перейдя через большой массив, начиная с позиции, связанной с данной буквой, у вас будет эффективный способ быстро найти все записи с полем, начинающимся с этой буквы. Вы можете представить индекс, используя целые имена в качестве ключей, и т. Д. – Metal
звучит интересно. Куда я могу найти пример? –