Isar setup in Flutter: indexes, queries, reactivity

When developing a mobile app for an online catalog with 50,000 items, we faced a problem: every user search triggered a full table scan in Hive, causing delays up to 2 seconds. Switching to Isar with indexes reduced response time to 50 ms — a 40x speed boost. Isar is a NoSQL database built on Rust w

Development and support of all types of mobile applications:

Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Showing 1 of 1All 1734 services
Isar setup in Flutter: indexes, queries, reactivity
Medium
from 1 day to 3 days

Our competencies:

Frequently Asked Questions

Latest works

  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    894
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    597

When developing a mobile app for an online catalog with 50,000 items, we faced a problem: every user search triggered a full table scan in Hive, causing delays up to 2 seconds. Switching to Isar with indexes reduced response time to 50 ms — a 40x speed boost. Isar is a NoSQL database built on Rust with FFI bindings for Dart. It delivers performance close to SQLite with a more convenient API. Over 5 years we've integrated Isar into 30+ Flutter projects where complex queries, reactivity, and atomic transactions were needed. Isar outperforms Hive by 5x on reads and 2x on writes; with indexes the gap reaches 10x. Support costs drop due to reduced response time and up to 60% fewer server calls.

According to benchmarks, Isar processes up to 5000 records per second on mobile devices — that's 5x faster than Hive under the same conditions.

Problems we solve

  • Slow queries without indexes: Without proper indexing, every query scans the entire collection. We design and implement indexes (single and composite) that accelerate lookups by 5-10x.
  • Lack of reactivity: Manually refreshing UI after data changes is error-prone. We integrate reactive streams that automatically update the UI via BLoC or Riverpod.
  • Data integrity during writes: Partial writes can corrupt state. We use atomic transactions (writeTxn) to ensure all-or-nothing operations.

How we do it (proven expertise)

Our technical approach: we analyze your data model and query patterns, then design an optimized schema with appropriate indexes. For example, on an e-commerce project, we reduced product search from 1.8s to 120ms by adding a composite index on category + price and switching from Hive to Isar.

Index setup example

@collection class Product { Id id = Isar.autoIncrement; @Index(type: IndexType.value) late String category; @Index(composite: [CompositeIndex('price')]) late String name; late double price; late bool inStock; } 

Dependencies in pubspec:

dependencies: isar: ^3.1.0+1 isar_flutter_libs: ^3.1.0+1 dev_dependencies: isar_generator: ^3.1.0+1 build_runner: ^2.4.6 

After code generation (flutter pub run build_runner build) and initialization:

final isar = await Isar.open( [ProductSchema], directory: (await getApplicationDocumentsDirectory()).path, ); 

Index types in Isar

Index type Description Use case
IndexType.value Hash index on a single field Equality (==, ===)
IndexType.hash Hash for exact match Exact search by ID or code
Composite Combination of multiple fields Queries like WHERE category = ? AND price > ?

Indexes on category and composite on name+price eliminate full table scans — giving up to 10x speedup.

Process of evaluation and work

  1. Requirements analysis: We collect your data model, typical queries, and performance targets.
  2. Schema design: We design the schema with optimal indexes and data types.
  3. Implementation: We write the models, code generation, and repository layer.
  4. Reactive integration: We connect Isar streams to your state management (BLoC/Riverpod).
  5. Migrations: We set up migration callbacks for future schema changes.
  6. Testing: We test with real data volumes and profile query performance.
  7. Deployment & docs: We provide documentation and train your team.

Orienting timelines

  • Basic setup (3-5 collections with indexes): 1-2 days.
  • With reactive streams and migrations: 2-4 days.
  • Complex projects (many collections, custom queries): 4-8 days.

Cost is determined after analysis. Contact us for a project estimate. Order turnkey Isar setup with guaranteed results. Get a consultation on integrating Isar into your project. We guarantee on-time delivery — over 30 successful implementations.