Changes between Version 7 and Version 8 of OtherTopics
- Timestamp:
- 02/27/26 06:12:30 (3 weeks ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
OtherTopics
v7 v8 172 172 ==== 1.1. Без индекс (Before Optimization) ==== 173 173 174 '''Метод''': Parallel Seq Scan (секвенцијално пребарување). Базата на податоци мора да ги прочита сите 50.000 редови еден по еден. 175 176 '''Времетраење: 45.2 ms''' 177 178 '''Анализа:''' Многу бавно. 179 180 ==== 1.2. Стратегија за индексирање (Partial Index) ==== 181 182 Наместо да се индексира целата табела, е креиран делумен индекс (Partial Index) кој ги вклучува само записите каде што status = 'Pending'. 183 184 Ова го намалува големината на индексот и ја забрзува извршувањето на барањето. 185 186 '''Применет индекс:''' 187 {{{ 188 CREATE INDEX idx_po_status_pending ON purchase_order(expected_delivery_date) WHERE status = 'Pending'; 189 }}} 190 191 ==== 1.3. Со индекс ==== 192 174 193 Во базата на податоци нема дефинирано индекс на полето за датум. 175 194 176 '''Метод''': Parallel Seq Scan (секвенцијално пребарување). Базата на податоци мора да ги прочита сите 50.000 редови еден по еден. 177 178 '''Времетраење: 45.2 ms''' 195 '''Метод''': Index Scan. 196 197 '''Времетраење: 0.9 ms ''' 198 199 '''Анализа:''' Многу по брзо. 200 201 === Сценарио 2: Пребарување на производи === 202 203 Цел: Корисникот да може да пребарува производи според името (на пример: производи што започнуваат со "Laptop"). 204 205 {{{ 206 SELECT * FROM product WHERE name LIKE 'Laptop%'; 207 }}} 208 209 ==== 2.1. Без индекс (Before Optimization) ==== 210 211 '''Метод''': Seq Scan. Сите 10.000 редови со производи се проверени еден по еден со споредба на текст. 212 213 '''Времетраење: 18.5 ms''' 179 214 180 215 '''Анализа:''' Многу бавно. 181 216 182 ==== 1.2. Стратегија за индексирање (Partial Index) ==== 183 184 Наместо да се индексира целата табела, е креиран делумен индекс (Partial Index) кој ги вклучува само записите каде што status = 'Pending'. 185 186 Ова го намалува големината на индексот и ја забрзува извршувањето на барањето. 217 ==== 2.2. Стратегија за индексирање (Partial Index) ==== 218 219 За да се забрзаат текстуалните пребарувања, е применет B-Tree индекс на колоната '''name'''. 220 Параметарот text_pattern_ops овозможува LIKE барањата да можат да го користат индексот. 187 221 188 222 '''Применет индекс:''' 189 223 {{{ 190 CREATE INDEX idx_po_status_pending ON purchase_order(expected_delivery_date) WHERE status = 'Pending'; 191 }}} 192 193 ==== 1.3. Со индекс ==== 194 195 Во базата на податоци нема дефинирано индекс на полето за датум. 224 CREATE INDEX idx_product_name ON product(name text_pattern_ops); 225 }}} 226 227 ==== 2.3. Со индекс ==== 228 196 229 197 230 '''Метод''': Index Scan. 198 231 199 '''Времетраење: 0. 9ms '''232 '''Времетраење: 0.15 ms ''' 200 233 201 234 '''Анализа:''' Многу по брзо.
