The Power of Indexing in Database Tables

When working with databases, most developers understand the concept of an index and why it's used: to speed up data retrieval. But the real impact of indexing often becomes clear only when you compare scenarios with and without it.

Do you Know what Happens Without an Index?
Imagine a table with three columns: Name, Age, and MobileNumber.

2 2
1 45
InterSystems Developer Community is a community of 25,481 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!

Dear Community,

As the 🎄 Festive Season 🎄 approaches, we’re excited to send our warmest wishes your way. May your holidays be filled with the joy of 🧑‍💻 learning, 🫂 connecting with fellow developers, and the thrill of new ideas and challenges waiting in the year ahead!

Looking back on 2025, we’re delighted to celebrate another year of remarkable achievements together with YOU, our incredible members:

2 0
0 18

Hi Community,

We’d like to remind everyone of the value your feedback and observations bring to improving InterSystems products. Our customer support is world-famous, but if you're not a formal customer yet it can be confusing how to engage with us. We have now filled that gap.

Every time you notice an issue - whether it’s a broken feature, a UI glitch, or something that just doesn’t work as expected - the Ideas Portal is now also the way to submit bug reports.

***REMEMBER: If you have access to WRC, please submit the report via WRC as usual!***

Here’s how it works:

1. Go to the Ideas Portal and click Add a new idea

2. Provide the title, short description, choose “Bug reports” in the category field, and click Next

4 18
1 192

Looking at my database I see I have a very big ^rINDEXSQL global? Why is that? 😬

In the Management Portal SQL page, under "SQL Statements" I see a 'Clean stale' button - what does this do? 🤔

In the list of Statements some have a 'Location' value and some don't? How is that? 🤨

2 0
0 15

We have created a CSP application in the path /csp/ourapp. Due to some session handling issues, we created a new web application /csp/ourapp/hl7mapping that points to the sane namespace, and we now access the CSP pages using this new URL. This works fine in the local system.

After deploying the app to server, we are facing issues around compiling CSP pages.

0 2
0 34

Hi noble developers!

Have a question/discussion. Sometimes, while developing, we'd need to connect VSCode directly to a remote server (e.g., stage one) for debugging purposes. And after change back to local one. And then to remote again.

How do you perform this switching in VSCode in a convenient way?

I have several settings.json files (settings_local, settings_remote) which I put to a main settings.json when I need to make VSCode to connect to switch the connection:

0 4
0 39
Question
· Dec 21
XDBC memory leaks

I have a business service that actively reads data from a remote Postgres database. OnProcessInput opens a XDBC (actually JDBC) connection, executes an SQL query, fetches several thousand rows, iterates the resultset, and closes the connection. On each iteration I also need to update each source row in the remote database using PreparedStatement.

In other words, in every OnProcessInput call I have a long running SELECT statement and several thousands small UPDATE statements.

The problems I'm facing are:

0 8
0 50

Hey Developers,

Enjoy the new video on InterSystems Developers YouTube

First Customers Using Vector Search - Real World Experiences and Lessons Learned @ READY 2025

https://www.youtube.com/embed/HZrxAxrQges
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

0 0
0 13

Project Overview / Introduction

Developing and testing REST APIs in InterSystems IRIS often requires a significant amount of boilerplate code. While ObjectScript provides powerful tools for building APIs, writing consistent and repeatable tests can be time‑consuming. This is where IrisOASTestGen comes in.

3 2
0 60

In this article, we will discuss all the debugging tools included in the Microsoft Visual Studio Code IDE.

What will be covered:

  • Breakpoints
  • Watch window
  • Call Stack

Let's start by learning about debugging requirements!

Prerequisites

There are two plugins (extensions) for debugging ObjectScript:

The first is part of the InterSystems ObjectScript Extension Pack. The second is Serenji, a standalone plugin that provides an editor, file manager, and debugging functionality. Both plugins can be installed from the plugin store. To activate key functionality, Serenji requires a license. For this article, we'll use the InterSystems ObjectScript Extension Pack to reduce the learning curve. After you've mastered the basics, you can consider purchasing a paid license for Serenji.

9 2
5 159

As part of our 10-year celebration, we are pleased to recognize certain members whose long-standing contributions have significantly shaped the InterSystems Developer Community.

Over the past decade, these individuals have shared knowledge, supported peers, and helped strengthen the collaborative spirit that defines our Community.

To honor their impact, we are introducing a special set of 10th Anniversary Edition awards and Global Masters badges:

14 17
0 235

Hey Community!

We're happy to share a new video from our InterSystems Developers YouTube:

Using InterSystems Data Studio with Supply Chain Module as a Data Gateway @ Ready 2025

https://www.youtube.com/embed/Fsj90EItuBI
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

0 0
0 12

Monitoring your IRIS deployment is crucial. With the deprecation of System Alert and Monitoring (SAM), a modern, scalable solution is necessary for real-time insights, early issue detection, and operational efficiency. This guide covers setting up Prometheus and Grafana in Kubernetes to monitor InterSystems IRIS effectively.

This guide assumes you already have an IRIS cluster deployed using the InterSystems Kubernetes Operator (IKO), which simplifies deployment, integration and mangement.

27 11
14 739

I am experimenting with OpenTelemetry and recently connected all IRIS instances to telemetry servers.
I'm not interested in emitting custom metrics since IRIS does it fine, regarding tracing - we can use %Trace classes to emit custom traces, but what about logging?

I see that IRIS is able to send system log messages to the OpenTelemetry servers:

0 0
0 14
Question
· Dec 10
Cache Studio Debugger

Hi,

I have Cache 2024.1. I attached the process ID from my terminal to the Cache Studio for Debugger. When I click on "Call Stack" tab I only see first 500 shown. Anyone know how to extend so I can see the rest of the information when i click on "Call Stack" tab? Thank you very much.

Second question: Using Cache Studio Debugger, anyone know how to expand the value of this variable when it display F,...

0 3
0 59

Time for another round of code golf!

Develop a function that performs a two-step encryption process on a given string:

  • First Step: Reverse Cipher

    • Reverse the entire input string.
    • Relocate the last character of the original string (now the first character of the reversed string) to the end.
  • Second Step: Alphabetic Index Binary Encoding

3 14
0 123

An extension “extends” or enhances a FHIR resource or a data element in a custom way. The extension can be added to the root of a resource, such as “Patient.ethnicity” in US Core profile, and they can be added to individual elements such as HumanName, Address or Identifier.

Did you know that you can also add an extension to a primitive data type?

Primitives usually store a single item and are the most basic element in FHIR. For example: "Keren", false, 1234, 12/08/2024 etc.

For example, the patient resources might look like this:

7 2
1 300

Hi Community,

As part of our birthday celebration, we’ve put together a special timeline video showcasing the key milestones, growth, and achievements of the Developer Community and its Ecosystem over the past decade 🎆

Take a look at how far we’ve come, and how much we’ve built together:

https://www.youtube.com/embed/iZCfGAdWB2g
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

16 9
0 180

Hello community!
I have a small challenge for you :)

One of customers is sending quite a lot of messages between interoperability components, which mix standard request content and streams representing serialized JSON objects. As these JSON streams can be quite long (but not too long, just couple hundreds of characters) they would appreciate if the JSON content of stream was displayed in a nice-to-read way, using syntax highlighting by message trace view.

0 1
0 27

Hello Community,

✨ As we wrap up another incredible year on the Developer Community, it’s time to look back at everything you accomplished in 2025! Your personal 2025 Recap is now live — a tailored snapshot of your activity, milestones, and the value you brought to the community this year.

From the articles you shared to the discussions you sparked, your contributions helped shape the knowledge and collaboration on our platform. Now you can revisit all of it in one place!

3 2
0 39

Hi everyone.

I'm going to give you a quick tip on how to implement an AI agent to search the Intersystems documentation integrated into Teams.

Yes, I know the documentation page has its own AI search engine and it's quite effective, but this way we'd have faster access, especially if Teams is your company's corporate tool.

You can also create another AI agent to search articles published in the developer community (which also has its own integrated AI search engine).

1 0
1 23