Cinchy Platform Documentation
Cinchy v4.0
Cinchy v4.0
  • Dataware Overview
  • Release Notes
    • 4.1 Release Notes
    • 4.2 Release Notes
    • 4.4 Release Notes
    • 4.5 Release Notes
    • 4.6 Release Notes
    • 4.7 Release Notes
    • 4.8 Release Notes
    • 4.10 Release Notes
    • 4.11 Release Notes
    • 4.12 Release Notes
    • 4.13 Release Notes
    • 4.14 Release Notes
    • 4.15 Release Notes
    • 4.16 Release Notes
    • 4.17 Release Notes
    • 4.18 Release Notes
    • 4.19 Release Notes
    • 4.20 Release Notes
    • 4.21 Release Notes
  • Cinchy Guides
    • User
      • My Network
      • User Preferences
      • Table Features
      • Data Management
      • Commentary
      • Query
    • Builder
      • Best Practices
        • Multi-Lingual Support
      • Tables
        • Creating your first table
        • System Columns
        • Column Types
        • Linking Data
        • Indexing and Partitioning
        • Formatting Rules
        • Data Controls (formerly Design Controls)
          • Table Level Entitlements
          • Column Level Entitlements
          • Row Level Entitlements
          • Erasure
          • Compression
      • Building Forms
      • Saved Queries
        • Creating your first query
        • Displaying Query Results
      • Integration
        • BI Integrations
          • Excel
          • Power BI
          • Tableau
        • Other Integrations
          • SAS
      • Data Experience Deployment
    • Frequently Asked Questions
  • API Guide
    • APIs
      • Authentication
      • Saved Queries
      • ExecuteCQL
      • Webhook Ingestion
  • Deployment Guide
    • Planning
      • Deployment Planning Guide
      • Pre-Requisites
    • Installation
      • Maintenance
      • Migration from 1.x
      • Single Sign-On (SSO) Integration
        • Configuring ADFS
        • AD Group Integration
        • High Number of Groups in ADFS
      • Application Experiences
        • Setting Up Experiences
        • My Data Network
        • Custom Data Network Visualizer
      • Advanced Settings
        • Enable Data At Rest Encryption
        • System Properties
  • Other Resources
    • Cinchy Data Sync
    • Cinchy Meta-Forms
    • Cinchy Meta Reports
    • Cinchy Query Language
    • Angular SDK
    • JavaScript SDK
Powered by GitBook
On this page
  • Table of Contents
  • 1. Indexing
  • 1.1 Setting Up an Index
  • 2. Full-Text Indexing
  • 2.1 Setting up a Full-Text Index
  • 3. Partitioning
  • 3.1 Setting up a Partition

Was this helpful?

Export as PDF
  1. Cinchy Guides
  2. Builder
  3. Tables

Indexing and Partitioning

This page outlines indexing and partitioning when building tables

PreviousLinking DataNextFormatting Rules

Last updated 3 years ago

Was this helpful?

Table of Contents

Table of Contents

1. Indexing

Indexing is used to improve query performance on frequently searched columns within large data sets. Without an index, Cinchy begins a data search with the first row of a table and then follows through the entire table sequentially to find all relevant rows. The larger the table(s), the slower the search.

If the table you are searching for has an index for its column(s), however, Cinchy is able to search much quicker.

In the below example, we will set up a query for a Full Name field. When you create an index for that field, an indexed version of your table is created that is sorted sequentially/alphabetically.

When you run your query on this index, that table will be searched using a binary search.

A binary search will not start from the top record. It will check the middle record with your search criteria for a match. If a match it not found, it will check whether the found value is larger or smaller than the desired value. If smaller, it reruns the data check with the top half of the data, finding the median record. If larger, it reruns the data check with the bottom half of the data, finding the median record. It will repeat until your data is found.

1.1 Setting Up an Index

In this example, we have a table with employee names (Image 1). We want to search for "John Smith", using the Full Name column.

Image 1: Setting up an Index
  1. To set up your index, select Design Table from the left navigation tab.

2. Click Indexes (Image 2).

3. Select "Click Here to Add" and fill out the following information for a new index. Click save when done (Image 3):

  • Index Name.

  • Select the column(s) to add to your index. For our example we have selected the Full Name column to be indexed.

    • You can select more than one column per index.

  • Select the Included column(s) to add to your index, if applicable.

    • The difference between regular columns and Included columns is that indexes with included columns provide the greatest benefit when covering your query because you can include all columns your query may reference, such as columns with data types, numbers, or sizes not allowed as index key columns.

4. We can now query our full name column for John Smith and receive our results quicker than if we hadn't set up our index (Image 4).

Note that there is no UI change in the query builder or your results when running a query on an indexed column. The difference will be in the speed of your returned results.

2. Full-Text Indexing

A full-text index is a special type of index that provides index access for full-text queries against character or binary column data. A full-text index breaks the column into tokens and these tokens make up the index data.

2.1 Setting up a Full-Text Index

  1. Click on Design Table > Full-text Index

  2. Add in the desired column(s) and click save when done (Image 5).

3. Partitioning

Partitioning data in a table is essentially organizing and dividing it into units that can then be spread across more than one file in a database. The benefits of this are:

  • Improved efficiency of accessing and transferring data while maintaining its integrity.

  • Maintenance operations can be performed on one or more partitions more efficiently.

  • Query performance is improved based on the types of queries most frequently run.

When creating a partition in Cinchy, you use the values of a specified column to map the rows of a table into partitions.

3.1 Setting up a Partition

In this example we want to set up a partition that divides our employees based on a Years Active column (Image 6). We want to divide the data into two groups: those who have been active for two years or more, and those who have only been active for one year.

  1. Click on Design Table > Partition

  1. Fill in the following information and click save when done (Image 7):

  • Partitioning Column: this is the column value that will be used to map your rows. In this example we are using the Years Active column.

  • Type: Select either Range Left (which means that your boundary will be <=) or Range Right (where you boundary is only <). In this example we want our boundary to be Range Left.

  • Add Boundary: Add in your boundary value(s). Click the + key to add it to your boundary list. In this example we want to set our boundary to 2.

Once set up, this partition will organize our data into two groups, based on our boundary of those who have a Years Active value of two or above.

2. You can now run a query on your partitioned table (Image 8).

Note that there is no UI change in the query builder or your results when running a query on a partitioned table. The difference will be in the speed of your returned results.

Image 2: Click "Indexes"

For more on Included Columns,

Image 3: An example index
Image 5: Full text indexing
Image 6: Partitioning
Image 7: Creating your Partition

For more formation on creating, modifying or managing Partitioning, please visit Microsoft's documentation.

click here
Partitioned table and Indexes
#1.-indexing
#2.-full-text-indexing
#3.-partitioning
Image 4: An example query on an indexed column
Image 8: An example query on a partitioned table