The post has been translated automatically. Original language: Russian
Imagine a thousand-page book with no content. To find the right chapter, you'll have to scroll through it all. With the content, it takes seconds. The index works the same way in the data.
When there are a hundred records in the table, the search is fast in any way. When there are ten million records, the search method becomes crucial.
Without an index, the program looks through the records one by one. With the index, she immediately knows where the right thing is.
The index is based on the fields that are most often searched for: order number, phone number, date.
There is a price for speed. The index takes up space, and it needs to be updated with each new entry. Therefore, indexes are not made for all fields, but only for those used in the search.
The order of the fields is also important. The city and date index helps you search by city, but it doesn't help you search by date alone.
The rule of thumb is simple: look at the most frequent data queries and build indexes for them. Usually there are few such requests, and they give almost all the winnings.
Do you know which five requests to your data are performed most often?
Между нажатием кнопки и появлением результата всегда есть пауза. Даже когда она составляет полсекунды, от того, что человек видит в этот момент, зависит его ощущение от продукта.Самый частый вариант это крутящийся индикатор в центре экрана. Работает он плохо: экран пустой, непонятно, сколько ждать, и непонятно, что вообще происходит.Лучше работает другой приём.
Вместо пустоты показывают заготовку будущего содержимого: серые полосы там, где будет текст, прямоугольники там, где будут картинки. Человек сразу видит структуру и понимает, что данные уже идут.Второй приём это показ по частям. Сначала появляется то, что уже готово, затем остальное. Список заказов можно показать сразу, а суммы и статусы дописать через мгновение.Третий приём касается коротких пауз.
Если ответ приходит за двести миллисекунд, индикатор лучше вообще не показывать. Мелькнувший и исчезнувший элемент создаёт ощущение дёргания. Отдельно про повторные действия. После нажатия кнопку стоит сделать неактивной до получения ответа. Иначе человек нажимает её несколько раз, и на сервер уходит несколько одинаковых запросов. И про долгое ожидание.
Если операция занимает больше нескольких секунд, полезно объяснять словами, что происходит: формируем отчёт, проверяем данные. Текст переносится легче, чем молчаливая пауза той же длины.Правило простое: пользователь должен всегда понимать, идёт работа или уже нет. Ожидание раздражает не длиной, а неопределённостью. А в вашем интерфейсе во время загрузки видна заготовка содержимого или пустой экран с индикатором?