Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook



The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic

Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.

If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.

Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.

Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

What is the purpose of indexing?

  • Filter
  • Time
  • Show
Clear All
new posts

  • What is the purpose of indexing?

    Good day,

    Could you please explain to me the purpose or gain from using indexes. Till now I have not defined any indexes, that I know of.

    But since everyone else is using it, maybe I am missing something.


  • #2
    Re: What is the purpose of indexing?

    "Overview of Indexes and Queries" in User Guide chapter on sorting and selecting records would be a good place to start.


    • #3
      Re: What is the purpose of indexing?

      Wikapedia says
      A database index is a data structure that improves the speed of operations in a table. Indices can be created using one or more columns, providing the basis for both rapid random lookups and efficient ordering of access to records. The disk space required to store the index is typically less than the storage of the table (since indices usually contain only the key-fields according to which the table is to be arranged, and excludes all the other details in the table), yielding the possibility to store indices into memory from tables that would not fit into it. In a relational database an index is a copy of part of a table. Some databases extend the power of indexing by allowing indices to be created on functions or expressions. For example, an index could be created on upper(last_name), which would only store the uppercase versions of the last_name field in the index. Another option sometimes supported is the use of "filtered" indices, where index entries are created only for those records that satisfy some conditional expression. A further aspect of flexibility is to permit indexing on user-defined functions, as well as expressions formed from an assortment of built-in functions. All of these indexing refinements are supported in Visual FoxPro, for example.[1]

      Indices may be defined as unique or non-unique. A unique index acts as a constraint on the table by preventing identical rows in the index and thus, the original columns.
      Jeff Ryder


      • #4
        Re: What is the purpose of indexing?

        Indexes provide a way to find data records instantly. Instead of piling through a bunch of data looking for a record that you need, you perform a search using an index and the results are usually returned instantly.



        • #5
          Re: What is the purpose of indexing?

          Jeff said:
          A unique index acts as a constraint on the table by preventing identical rows in the index and thus, the original columns.
          This statement is true for SQL relational databases. It's not true in DBF tables or in native Alpha Five tables. While defining an index tag if you opt to set the include range to "unique" instead of "All", you will not prevent the entry of records with duplicate keys.

          Use Alpha's validation field rules to prevent the entry of records with duplicate keys. Or, more typically, use the auto-increment field rule to generate a unique key for each new record.


          • #6
            Re: What is the purpose of indexing?


            Thanks for catching that. I should have read the text I cut and pasted from Wikapedia closer before posting.

            Jeff Ryder


            • #7
              Re: What is the purpose of indexing?

              And now for the million dollar question....

              Will the use of indexes make my reports faster?



              • #8
                Re: What is the purpose of indexing?


                That all depends on how complex your reports are to start with.
                Keith Hubert
                Alpha Guild Member
                KHDB Management Systems
                Skype = keith.hubert

                For your day-to-day Needs, you Need an Alpha Database!


                • #9
                  Re: What is the purpose of indexing?


                  I would take a look at Lightning Query Optimisation in the help file for guidance on how best to create indexes and queries for maximum speed. If you follow these guidelines you should see a speed improvement as Alpha will use LQO when generating a report whenever it can.

                  Bob Whitaker
                  Bob Whitaker


                  • #10
                    Re: What is the purpose of indexing?

                    Hi George,

                    Originally posted by georgefurnel View Post
                    Will the use of indexes make my reports faster?
                    Indexes allow instant access to a record by a specific key (say for a find or lookup), as well as external lookups (like a Lookup function), or to a group of records with the same key (e.g. DBCount()), or to a range of records between 2 key values (when a filter is applied in a function that allows using LQO). The last one requires that the filter expression be specified in a way that Alpha can apply LQO to an index.

                    If your report returns info from all records, it's doubtful that the query part of your report can be speeded up. However there are other things that slow a report down as well.

                    Having the Lock tables checked off in the report properties (and this is the default), using summary values that are not running values, placing summary values at tops of groups as opposed to bottom, sorting/beaking groups differently from the sort of the entire report are just a few things that slow a report down.

                    Use of a set that is overly complex for the report's needs is another bad idea.

                    Sometimes it makes sense to copy the needed table records to a local drive and run the report there (this requires some fair amount of code)

                    Ira J. Perlow
                    Computer Systems Design

                    CSDA A5 Products
                    New - Free CSDA DiagInfo - v1.39, 30 Apr 2013
                    CSDA Barcode Functions

                    CSDA Code Utility
                    CSDA Screen Capture


                    • #11
                      Re: What is the purpose of indexing?

                      Thanks to everyone for contributing. I'm running off to see what a diference I can make to the speed of the reports.