Sun, Dec
0 New Articles

What Is Informix and Why Should I Care?

  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Oh, and where's my TechTip?


I want to accomplish two things with this inaugural TechTip. Mainly, of course, I want to give you what you came here for, a TechTip, and we'll get to that shortly. Secondly, I want to lay out the course that this column will take so you will know what to expect and what I will be talking about here.


If you are not an Informix user currently, don't go away just yet. If you are not an AIX user but stumbled upon us, stay a while; you may like what you have found. This is, in specific, a column about using IBM's Informix Dynamic Server RDBMS on AIX, but more generally, it is about becoming better at using SQL (pronounced "Ess Kew El"; Sequel is another language and a topic for another article) running on a UNIX operating platform. Because of this fact, much of what you will read here will apply to you even if you are using MySQL on Linux or Oracle on another proprietary UNIX. Get comfy.


For those of you who have never heard of it and yet are still with me here, what is Informix? Informix was one of the early relational database systems that popped into being in the early 1980s. In the early 1990s, Informix introduced a completely revamped server technology that it called Informix Dynamic Server, or IDS. By the turn of the 21st Century, IDS had garnered a strong and loyal following among developers and database administrators for its speed, reliability, and low cost of ownership. When IBM purchased the technology in 2001, everyone prophesied the end of Informix. That did not happen. In the 11 years that IBM has owned IDS, they have published more releases and a richer suite of enhancements to the product than Informix Corp. did in the product's first 18 years.


Today, Informix Dynamic Server is IBM's go-to engine for the tough jobs. Need an enterprise-class database server that can be squeezed down to run inside a phone system and never be touched by human hands? Informix. Need a server that can natively handle massive streams of time-stamped data in real time, store it using one-third of the disk space your competitor will have to pay for, and present it to purely SQL-based tools? Informix. Need to build an OLTP application that can kick butt at transaction rates that will make your competitors' heads spin right off their shoulders? Build it over Informix.


This is starting to sound like a sales pitch, and I don't work for IBM, so let's move on to our tip.


I'm frequently asked about specific features offered by one RDBMS or another with reference to how one can accomplish the same thing in an Informix environment. From time to time, I'll cover one of these questions. This time, let's talk about hash indexing. Traditional btree/b+tree indexes are very good at processing range filters. A range filter is one that specifies a range of values for a given column that will satify the query. Here are a couple of examples:


  • ... and salary between 90000 and 120000 (all records with salary greater than 90,000 and less than or equal to 120,000)
  • ... and sales > 100 (all rows with sales above 100)


A btree index can easily find all of the rows in the match range. However, if you have an equality filter (say "and department_num = 42"), there are faster technologies than a btree index. One such is a hash table or hash index. The "hash" part of this technology is the application of a mathematical function that maps the values being hashed into a finite number of slots or buckets. A simple hash would be the modulo function. When you create a hash index, you select the hash function so that a relatively small number of possible column values will hash to a given hash value, making it very fast to find the records that contain a given value. The downside is that you cannot use a hash index for range filters, and many database systems cannot combine hash indexes with btree indexes to process multiple filters.


With the release of Informix version 11.70 last year, IBM introduced a new index type known as a Forest of Trees (FOT) index. It is a hybrid of hash and btree technology. An FOT index defines a key that begins with one or more columns to which a hash into a user-defined number of hash buckets is applied and then continues with a list of other key columns. Each hash bucket identifies a btree index containing the remaining key columns that follow the hashed portion of the key. If you do not specify any other columns after the hashed portion of the key, the index devolves into a hash index. If you have additional columns in the key, the FOT index experiences far less contention for access to btree root nodes than a traditional btree index, allowing more concurrency for large numbers of users. Each of the btrees in an FOT index will also be flatter than simple btree on the full key would be, resulting in fewer index accesses to get to the correct leaf. Since the non-hashed portion of the key is indexed by a btree, range filters on these columns are supported.


Informix v11.70 also supports a feature called Index Self-Join (I-SJ), which permits the optimizer to use an index to filter on key columns that are not the leading column(s) of the index. That can permit you to reduce the number of indexes on the table, thereby improving insert, update, and delete performance. In the case of FOT indexes, I-SJ means that Informix can use the btree sub-indexes of the FOT index as if you also had a separate index on just those columns.


You create a Forest of Trees index just like any other index but with an additional clause that defines the hash:


CREATE INDEX mytable_ix12 ON mytable( col1, col2, col3, col4 )

HASH ON (col1, col2) WITH 100 BUCKETS;


This creates one hundred small btree indexes each for a subset of the compound col1/col2 key that contain keys for col3 and col4. Searching with equality filters on col1 and col2 will find all of the rows with that compound value very quickly. It's  noticably faster than searching a normal btree, and the search will be even faster if you also have filters on col3 and/or col4.

Art Kagel discovered UNIX systems in 1982 and Informix Relational Database products in 1983. He has used Informix on various UNIX systems ever since. Art is currently a Principal Database Consultant with Advanced DataTools Corp., is a recipient of the International Informix Users Group (IIUG) Directors' Award, and has been named an IBM Information Champion several years running. He is a strong proponent for and expert in the use of IBM Informix Dynamic Server. He is a blogger and a frequent contributor to the IIUG SIG Forums.



Support MC Press Online

$0.00 Raised:

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: