Skip to main content

CST363 - Learning Journal Week 5

 This learning journal entry is in response to the following article:

https://use-the-index-luke.com/sql/anatomy/slow-indexes

Q: If indexes are supposed to speed up performance of query, what does the author mean by a slow index?

In the article the author refers to a slow index as an index where the database traversing not only the index tree structure but also multiple leaf nodes to find all matches. What this means is that although indexes help the database close in on the requested data without having to look at every node, it can still be slow because it will need to follow multiple branches to ensure it finds all of the matching keys. With leaf nodes possibly having many matches the requested data can span across multiple blocks. 

Slow indexes are a myth due to the mistaken belief that the index lookup only involves tree traversal when in reality is also involves following leaf node chains and fetching the table data where there is no limit to the amount of block access requests that it may need to perform.


Comments

Popular posts from this blog

CST 363 - Learning Journal Week 7

This week we learned how to implement a different type of database using MongoDB. For our group project this week we changes the SQL code to MongoDB code. Both of these database applications do a fine job of working with data and saving it to a database. I did find that MongoDB seemed more streamlined than working with SQL. With SQL there seemed to be more setup as in creating prepared statements, and then executing queries. With MongoDB it seemed like a good chunk of the code was abstracted away and this made for cleaner looking code at the call site. If I had to choose I would likely go with MongoDB as it seemed more approachable.

CST335 Week 7 Journal Entry

 This week I learned about input/output (I/O) devices and their interactions with the operating system (OS). Two types of devices I learned about were block and character devices. Block devices, like hard drives and SSDs, store data in fixed-size blocks and allow random access, making them ideal for large data transfers. Character devices, such as keyboards and mice, handle data streams one character at a time, supporting sequential access. The OS play a crucial role in managing these devices through device drivers that provide a standard interface to interact with the hardware. Performance characteristics of hard drives, such as seek time, rotational latency, and transfer rates, are pivotal in determining overall system efficiency. By calculating transfer rates for different workloads, I learned how disk access patterns significantly impact performance. Additionally, understanding RAID levels provided insights into how redundancy and striping enhance data reliability and performan...

CST363 Learning Journal Week 4

 This weeks learning journal prompts are: 1.  Briefly summarize 5 things what you have learned in the course so far.   2. List at least 3 questions you still have about databases. 1. SQL - Learning how to use SQL was great for me. I had never previously used SQL and I found it to be a very approachable and simple programming language. I learned how to perform queries and build tables to organize data in a manner that was accessible and practical.    Entity Relationship Diagrams - These diagrams I found to be very useful in the initial build out of a database and helps create a visual representation of entities, their attributes and relationships. The ERD can also be used to generate the code required in SQL to model the ERD.   Database Design Process - The text and lectures provided some good guidelines on the process to create a database. I learned how to understand the database requirements by speaking with the end users and also the process of analy...