Bỏ qua, tới nội dung chính
Cà Phê & Code Cà Phê & Code
  • Trang chủ
  • Bài viết
    • Chuyên mục
    • Backend
    • Bảo mật
    • Bảo mật ứng dụng web
    • Công cụ
    • Cơ sở dữ liệu
    • DevOps
    • Docker
    • Giải thuật
    • Go
    • Hệ điều hành
    • Hệ thống
    • Java
    • Kiến trúc hệ thống
    • Lập trình
    • Lập trình Go
    • Linux
    • Mang
    • Mạng
    • Message Queue
    • Odoo
    • RabbitMQ
    • Spring
    • Trình biên dịch
    • Vert.x
    • Web

    • Xem tất cả
    • Chuyên mục
    • Sê-ri
    • Thẻ
  • Luyện thi
  • Ghi chú
  • Thiết kế CSDL
  • Thông tin
    • Giới thiệu
    • Liên hệ
Đăng nhập
  1. Trang chủ
  2. Chuyên mục
  3. Cơ sở dữ liệu

Cơ sở dữ liệu

Theo dõi riêng chuyên mục này 237 bài viết
Cơ sở dữ liệu 22/09/2026 6 phút

JIT trong PostgreSQL: khi nào giúp, khi nào hại — và cái bẫy làm query nhanh chậm 800 lần

JIT biên dịch biểu thức truy vấn thành mã máy để chạy nhanh hơn, nhưng biên dịch tốn thời gian trả trước. Đo thật: JIT kích hoạt nhầm biến một query 0,045 ms thành 37,7 ms, và không thắng cả trên aggregate 5 triệu dòng. PostgreSQL 16.

#postgresql#database#jit#toi-uu#sql#van-hanh#hieu-nang
12
Cơ sở dữ liệu 22/09/2026 4 phút

read=1740 hay hit=1740? Thêm BUFFERS vào EXPLAIN để biết truy vấn đọc từ RAM hay từ đĩa

Cùng một kế hoạch có thể nhanh hay chậm tuỳ dữ liệu nằm trong cache hay trên đĩa. Tuỳ chọn BUFFERS của EXPLAIN cho bạn thấy số trang shared hit so với read, chìa khoá hiểu cache lạnh và nóng — đo thật trên PostgreSQL 16.

#postgresql#database#toi-uu#explain#sql#hieu-nang
13
Cơ sở dữ liệu 22/09/2026 4 phút

Planner đoán 29.651 dòng, thực tế 99.344: EXPLAIN ANALYZE và nghệ thuật bắt PostgreSQL đoán sai

EXPLAIN ANALYZE chạy thật rồi in số dòng thực tế bên cạnh ước lượng. Khoảng cách giữa hai con số đó là manh mối số một của truy vấn chậm. Xem một ước lượng lệch 3,3 lần vì cột tương quan, và cách sửa.

#postgresql#database#toi-uu#explain#sql#hieu-nang
14
Cơ sở dữ liệu 22/09/2026 4 phút

Con số cost=133520.03 từ đâu ra? Giải mã cost model của PostgreSQL bằng một phép nhân khớp đến từng số lẻ

Planner quy mọi kế hoạch về một con số cost để so sánh. Hiểu công thức từ seq_page_cost, cpu_tuple_cost, và tự tay tính lại đúng cost một Seq Scan — rồi thấy planner luôn chọn phương án cost thấp nhất.

#planner#postgresql#database#toi-uu#sql#hieu-nang
12
Cơ sở dữ liệu 22/09/2026 4 phút

Cùng một index nhiều cột, đổi cột nào đứng đầu WHERE: 0,033 ms hay 109 ms — quy tắc cột trái nhất

Index nhiều cột không phải cứ liệt kê các cột là dùng được cho mọi truy vấn. Thứ tự cột quyết định. Hiểu quy tắc cột trái nhất qua danh bạ điện thoại, và đo thật chênh lệch 3.300 lần.

#postgresql#database#toi-uu#sql#index#hieu-nang
11
Cơ sở dữ liệu 22/09/2026 5 phút

GiST index trong PostgreSQL: tìm điểm gần nhất và khoảng thời gian giao nhau

B-tree cần một trục để sắp; điểm hai chiều và khoảng thời gian thì không có. GiST là cây của các hộp bao, cho phép tìm láng giềng gần nhất (KNN) và overlap khoảng. Đo thật: KNN nhanh gấp 578 lần, range overlap gấp 15 lần trên PostgreSQL 16.

#postgresql#database#toi-uu#sql#index#gist#hieu-nang
11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • …
  • 40

Trang 4 / 40 — tổng 237 bài viết

Tìm kiếm
Admin

Nhấp một ngụm cà phê, viết thêm một dòng code

Xem thêm
Chuyên mục
  • Odoo 400
  • Giải thuật 270
  • Cơ sở dữ liệu 237
  • Lập trình 216
  • Lập trình Go 133
  • DevOps 114
  • Java 100
  • Hệ điều hành 90
  • Docker 68
  • Go 60
  • Spring 60
  • Bảo mật 57
  • Linux 54
  • Vert.x 50
  • Trình biên dịch 45
  • Mạng 45
  • RabbitMQ 40
  • Backend 40
  • Message Queue 40
  • Công cụ 30
  • Web 18
  • Hệ thống 12
  • Kiến trúc hệ thống 12
  • Bảo mật ứng dụng web 1
Xem nhiều nhất
Bốn mươi dòng kiểm trước khi bấm nút triển khai — mỗi dòng đến từ một lần đã hỏng 10/08/2026 · 132
900 lần chạy test không bắt được lỗi luôn nằm đó — thêm một dòng sleep, nó lộ ra 100% 05/08/2026 · 116
Cùng một jar, ảnh Docker từ 866 MB xuống 126 MB — và cái bẫy làm ảnh nhỏ nhất in tiếng Việt ra dấu hỏi 06/08/2026 · 97
Integer 127 == 127 cho true, nhưng 128 == 128 cho false — vì sao, và bẫy đó ẩn ở đâu 05/05/2026 · 79
Một dòng println nở ra sáu lệnh, dấu cộng nối chuỗi biến thành invokedynamic — mở file .class ra xem 04/05/2026 · 68
Thẻ phổ biến
#zero-to-hero#do-dac#hieu-nang#odoo#odoo-19#go#developer#postgresql#devops#golang#lap-trinh#sql#java#database#huong-dan#he-dieu-hanh#toi-uu#bao-mat#100-ngay-java#backend#docker#trinh-bien-dich#container#linux#dong-thoi#csdl#docker-compose#spring#kafka#redis#kubernetes#web#giai-thuat#message-queue#giam-sat#mang#vertx#cau-truc-du-lieu#co-so-du-lieu#kien-truc-may-tinh#performance#quan-sat#orm#rabbitmq#van-hanh#concurrency#kien-truc#view#ke-toan#owl#http#index#microservice#observability#grpc#reactive#runtime#cong-cu#kho#monitoring#networking#bo-nho#qweb#debug#git#mat-ma#version-control#security#website#gc#resilience#crm#data-structures#prometheus#protobuf#serialization#collections#compression#nhan-su#regex#search#testing#thiet-ke#ban-hang#cau-hinh#context#controller#do-tin-cay#elasticsearch#gioi-thieu#interface#probabilistic#shell#algorithms#bao-cao#command-line#compiler#he-thong-lon#json#mua-hang#nen-du-lieu#regular-expression#streaming#system-design#tong-ket#unix#cache#ecommerce#jvm#openssl#owasp#report#spring-boot#stream#distributed#jpa#metrics#san-xuat#vacuum#action#bloat#gzip#io#logging#network#planner#spring-security#test#tracing#benchmark#chan-doan#checklist#du-an#explain#oop#phan-quyen#pprof#retry#tcp#architecture#encoding#event-bus#generics#goroutine#jmh#join#latency#memory#module#mrp#mvcc#scheduler#tls#ton-kho#transaction#amqp#bloom-filter#distributed-systems#email#error#exchange#heap#http2#kanban#lien-he#luong-ao#opentelemetry#phan-vung#replication#spring-amqp#statistics#thanh-toan#bat-dong-bo#binary#debugging#form#functional#go-loi#idempotency#load-balancing#map#middleware#pipeline#profiling#quality#routing#rpc#spring-mvc#sre#wizard#api#assets#atomic#backpressure#backtracking#bat-bien#build#bytecode#cardinality#channel#chatter#closure#cong-no#connection-pool#connection-pooling#consumer#cpu#deadlock#domain#histogram#hot-update#https#isolation#jwt#list#log#mutex#namespace#percentile#rate-limiting#re2#rest#san-pham#scss#sharding#slice#syscall#testcontainers#trien-khai#tu-dong-hoa#unicode#wal#websocket#widget#wire-format#zstd#aes#allocation#assembly#authentication#automation#backoff#bash#bom#cas#chat-luong#circuit-breaker#cqrs#csrf#deploy#dich-vu-khach-hang#dlx#dockerfile#do-tre#entropy#erp#error-handling#escape-analysis#event-driven#event-loop#exception#frontend#grep#group-by#hash-table#helpdesk#hmac#hoa-don#inheritance#interceptor#iterator#jackson#jaeger#javascript#jdbc#kieu-du-lieu#lambda#lock-free#lo-trinh#lua#luu-tru#mat-khau#maven#migration#multiplexing#nginx#nha-cung-cap#outbox#pagination#partition#phe-duyet#portal#quan-ly-cong-viec#queue#rang-buoc#reflect#reflection#server-action#snippet#socket#status-code#string#timeout#tim-kiem#toolchain#tuy-bien#varint#vertx-web#work-mem#xac-thuc#xpath#activity#aead#aggregate#alignment#analytics#analyze#async#auth#autovacuum#awk#bao-gia#bao-tri#barcode#batch#bat-dau#bcrypt#bien-the#big-o#brotli#button#byte#caching#cgroup#cham-cong#chi-phi#chuan-hoa#chung-chi#cluster#codegen#collectors#commit#constant-time#constraint#consumer-group#consumer-lag#copy#cors#count-min-sketch#cron#cross-compile#crud#csp#cte#da-cong-ty#database-sql#deadline#default#delete#delivery-semantics#delve#dependency-inversion#devirtualization#dich-thuat#dictionary#dinh-gia-ton-kho#distributed-lock#dns#do-ben#dynamic-programming#ecdsa#embed#event-sourcing#fanout#field-widget#fillfactor#full-text-search#future#giao-dich#giao-dien#giao-hang#goroutine-leak#graph#greedy#ha#hash#hashing#health-check#he-thong#hikaricp#hoat-dong#hooks#hop-dong#hyperloglog#i18n#inlining#inverted-index#ir-cron#itab#java-time#jdk#jfr#jit#jsonb#junit#keep-alive#ke-thua#ket-noi#khoa#lead#lock#luong#many2one#memory-leak#menu#merge#metadata#model#nap-du-lieu#ngan-hang#nghi-phep#nhap-du-lieu#optimization#optional#ordering#padding#parallel#partitioning#pattern-matching#pbkdf2#pgbouncer#phan-tich#phan-trang#plan9#port#prefetch#prepared-statement#proc#pubsub#python#quorum-queue#rate-limit#realtime#rebase#record#recordset#recovery#registry#replica#retention#sampling#sap-xep#scaling#schema#schema-evolution#sealed#secrets#sed#seo#service-discovery#session#signal#singleflight#skip-locked#sliding-window#slog#sort#stack#strace#struct#tai-nguyen#theme#thread#throughput#thue#tich-hop#tieng-viet#time#timezone#timing-attack#toast#token#transientmodel#trigram#ttl#tuyen-dung#type-parameter#unsafe#upload#window-function#worker-pool#xay-dung-web#xml#x-sync#xz#zigzag#2fa#abstract-model#access-control#ack#active-ids#actuator#addons#aggregation#alerting#alertmanager#allocator#amazon#analytic#analyzer#anchor#an-toan#aof#api-design#api-key#append#approvals#argon2#assert#at-least-once#attachment#attendances#audit#authorization#autoboxing#autocomplete#automated-action#avro#backlog#backreference#backup#bandwidth#bang-dieu-khien#bang-gia#ban-hang-online#bao-cao-tai-chinh#barrier#batch-insert#bce#bearer-token#benchmem#benchstat#bfs#bidirectional#bigdecimal#bigkey#bigtable#binary-search#binding#bind-mount#bisect#blockingqueue#blog#bm25#bool-query#bounds-check#boxing#branch#brin#brute-force#bst#bucket#budget#buffer#build-context#build-tags#bulk#bulkhead#bulk-load#but-toan#bzip2#cache-hit-ratio#cache-line#calendar#cam-bay#cancellation#ca-nhan-hoa#canh-bao#capture-group#cassandra#cay-can-bang#cbc#cbor#cgo#chacha20#cham-gio#character-class#chart-of-accounts#chat#checkpoint#cherry-pick#chmod#chu-ky-so#chunked#c-interop#classloader#classpath#clean-architecture#client-action#cloudflare#codec#code-generation#collision#command#command-injection#comparator#comparison#compatibility#compile-time#completablefuture#component#compose#composite#computed#concurrenthashmap#conditional-compilation#config#configuration#conflict#cong-doan#cong-tac#consensus#consistent-hashing#constructor#con-tro#con-tro-ham#cookie#core-dump#coredump#coroutine#cost#cost-model#cot-moc#coverage#criteria#cross-origin#csprng#css#cuckoo-filter#curl#cut#dag#da-hinh#da-ngon-ngu#danh-gia#danh-so#dashboard#data-processing#datetime#dce#ddd#ddl#dead-code#dead-letter-queue#decoder#deduplication#default-method#deflate#delegation#delta#demo-data#dependencies#dependency-injection#deployment#deque#detached-head#developer-mode#dev-mode#devtools#dfa#dfs#dia-chi#dialog#dieu-chuyen#dieu-khien#dieu-kien#diffie-hellman#dijkstra#dinh-kem#directive#discord#discuss#disk#display-name#distinct#distributed-transaction#dlv#dockerignore#doi-chieu#doi-sales#doi-soat#do-luong#domain-driven-design#don-hang#don-mua#don-vi-tinh#do-phuc-tap#download#dto#dual-write#du-bao#du-lieu#durability#dynamo#ecb#ecdh#editor#effective-cache-size#effective-io-concurrency#elliptic-curve#email-marketing#embed-fs#employees#encapsulation#entity#enum#env#envelope-encryption#ep-kieu#epoll#equals#errgroup#error-boundary#etag#etcd#evacuation#event#eviction#exactly-once#executor#exists#exit-code#expvar#fail-fast#fallback#false-sharing#federation#feed#fetch#ffi#field#file-descriptor#filestore#filter#finalizer#find#flaky#flatbuffers#flatmap#flyway#forkjoin#form-view#for-update#fsck#full-page-writes#full-text#functional-options#fuzzing#fuzzy#garbage-collector#gcm#gctrace#geohash#geospatial#getter#get-view#gia#giay-bao-co#gin#gist#gitignore#gitops#gob#godebug#gogc#go-generate#golangci-lint#golden-file#gomaxprocs#gomemlimit#gomock#go-modules#google#goos#gop-du-lieu#go-redis#gorilla#gossafunc#go-vet#govulncheck#go-work#graalvm#graceful-degradation#graceful-shutdown#gradle#group#groups#grpcurl#gtgt#h3#hàm-bậc-cao#handle#hang-doi#happens-before#haproxy#hashcode#hashicorp#hashmap#hazelcast#header#headers#heavy-hitters#helm#help#hexagonal#hibernate#hmap#hoa-don-dien-tu#hoan-tien#hook#hoot#hsts#html#http3#huffman#huge-pages#idempotence#id-generation#idor#iface#image#image-size#indexing#index-only-scan#inherit#inherits#init#inner-class#instagram#integration-test#internals#invoicing#iot#ir-attachment#ir-sequence#isolation-level#isr#iter-pull#iter-seq#jaccard#javac#javap#jitter#jlink#jmm#job-queue#journal#jsonrpc#jstack#kek-dek#key-rotation#keyset#khach-hang#khau-hao#khoa-chinh#khoa-cong-khai#khoa-ngoai#khoa-so#khuyen-mai#kiem-ke#kiem-soat#kien-hang#kiosk#knowledge#ky-dien-tu#ky-nang#ky-online#lag#lap-lich#lateral#layer#lazy#lazy-load#lazy-queue#leak#level#like#linear-search#linker#linkname#linter#list-view#livelock#load-average#load-shedding#locality#lock-date#log-compaction#logical#logs#lookahead#lookaround#lookbehind#lo-serial#lost-update#lru#lucene#lz4#lz77#ma-hoa#mail#mail-activity#mail-mail#mail-template#mail-thread#maintenance#maintenance-work-mem#management#many2many#mapping#mapstructure#match#materialize#mau-bao-gia#mau-email#ma-vach#max-connections#media#memcached#memoization#memory-hard#memory-mapped-file#memory-model#merge-join#mergesort#message#messagepack#message-post#messaging#metaprogramming#method#microbenchmark#microservices#minhash#mixin#mmap#mockgen#mocking#mockito#moi-truong#monetary#monorepo#mo-rong#mount#mtls#multiline#multi-stage#nagle#name-search#nang-cap#native-image#nen-file#net-http#netpoller#nfa#ngan-sach#nguoi-dung#nhan-hang#nhap-kho#nhat-ky#nhieu-buoc#nio#no-co#noinline#non-root#notification#n-plus-1#numeric#oauth2#oca#offset#oidc#onchange#on-conflict#one2many#or#order#overlayfs#p99#pacing#package#packfile#panic#paperformat#partition-management#partition-pruning#partition-wise-join#password#password-hashing#patch#path-traversal#patterns#payment#pdb#pdf#pecs#perf#persistence#pgbadger#pgbench#pg-locks#pgo#pg-repack#pg-stat-statements#pgstattuple#pg-trgm#phan-bo#phan-tan#phoi-hop#phong-ban#phu-thuoc#pid#pipe#pivot#plan-cache#plugin#poison-message#poly1305#ports-adapters#post-mortem#preemption#preflight#priority-queue#process#producer#production#projection#promise#promql#properties#property-based-testing#props#ps#publisher-confirms#push#pylint#qos#qrcode#quan-he#quantifier#quantile#query-dsl#quic#quicksort#quoting#quyen#quy-trinh#race#raft#random#random-page-cost#range-over-func#range-request#rdb#read-model#rebalance#recruitment#recursive#red#redelivery#redirect#red-method#redos#ref#reference#reflog#reindex#related#relevance#remote-debug#repository#requests#res-company#resource#rest-api#restclient#resume#reverse-proxy#rfq#ripgrep#rle#rootfs#ro-ri-bo-nho#round-robin#route#router#routes-rules#rsa#rss#run-length-encoding#runqueue#safe-eval#saga#sao-ke#sao-luu#sargable#saturation#scaffold#scale#schedtrace#scheduled#scheduled-action#script#scylladb#sdkman#search-after#secure-coding#security-header#select#selection#semaphore#sendfile#separator#serializable#servlet#set#set-e#sha256#shannon#shard#shared-buffers#shellcheck#shortest-path#shovel#side-channel#sign#simd#sitemap#size-class#sketch#sla#slf4j#slice-header#slices#slots#smart-button#snapshot#snapshot-testing#so-cai#sockjs#so-do-to-chuc#solid#sorting#source-code#span#spring-data#sqlc#sql-injection#ssa#ssd#sse#stackoverflow#stack-trace#staging#stampede#starvation#stash#static-analysis#staticcheck#status#statusbar#stenciling#stop-the-world#storage#streams#stringer#stripe#struct-tag#structured-concurrency#studio#stw#submodule#subquery#substitution#sudo#su-kien#switch#sync#sync-cond#synchronized#sync-map#sync-pool#syscall-js#sysmon#systray#tagged#tai-dat-hang#tai-khoan#tai-san#tang-truong#tar#t-call#t-digest#template#testing-quick#text#text-keyword#text-processing#t-field#t-foreach#thao-tac-hang-loat#the-phan-loai#thiet-ke-api#thiet-lap#threadlocal#thread-pool#thuc-hanh#thue-gtgt#thundering-herd#thymeleaf#tien-te#timeline#time-off#time-wait#tinh-phi#tiny-allocator#toan-tu#token-bucket#tokenizer#to-khai#top#topic#top-k#topology#totp#tour#transactioncase#transient-model#tra-truoc#tree#treemap#tricolor#tri-thuc#truncate#tuning#tuyen-duong#twitter#ty-gia#type-assertion#typed-nil#type-erasure#type-inference#type-safety#type-set#type-switch#uber#udp#uintptr#ulimit#ung-dung#union#uniq#unlink#unlogged#unsafe-pointer#update#upgrade#upsert#use#use-method#useref#useservice#usestate#utf-8#uuid#ux#vacuum-full#validation#value-object#varargs#verticle#veth#vhost#viet-nam#viettel#visibility-map#volatile#volume#vsz#vulnerability#wait-events#wal-compression#wasi#wasm#webassembly#web-client#webclient#webhook#werkzeug#wire#word-boundary#word-splitting#worker#workers#workspace#work-stealing#worktree#wraparound#write#write-barrier#write-skew#x509#xac-thuc-hai-lop#xargs#xml-id#xmlrpc#xoay-khoa#xss#x-time#xuat-du-lieu#xuat-kho#yield#zero-copy#zero-trust#zlib
Lưu trữ
  • Tháng 9/2026 1665
  • Tháng 8/2026 197
  • Tháng 7/2026 114
  • Tháng 6/2026 64
  • Tháng 5/2026 30
  • Tháng 11/2025 4
  • Tháng 10/2025 27
  • Tháng 9/2025 30
  • Tháng 8/2025 31
  • Tháng 7/2025 30
Theo dõi blog

Nhận email mỗi khi có bài viết mới. Không quảng cáo, huỷ bất cứ lúc nào.

Hoặc dùng RSS
Cà Phê & Code Cà Phê & Code

Cà Phê & Code là blog dành cho những người yêu công nghệ và lập trình. Nơi chia sẻ kiến thức coding, công cụ hữu ích, xu hướng công nghệ, kinh nghiệm phát triển phần mềm và những câu chuyện phía sau màn hình — tất cả được kể theo cách gần gũi, dễ hiểu, như một cuộc trò chuyện bên tách cà phê.

Liên kết
  • Trang chủ
  • Chuyên mục
  • Thẻ
  • Giới thiệu
  • Liên hệ
Chuyên mục nổi bật
Odoo (400)Giải thuật (270)Cơ sở dữ liệu (237)Lập trình (216)Lập trình Go (133)DevOps (114)Java (100)Hệ điều hành (90)Docker (68)Go (60)Spring (60)Bảo mật (57)Linux (54)Vert.x (50)Trình biên dịch (45)Mạng (45)RabbitMQ (40)Backend (40)Message Queue (40)Công cụ (30)Web (18)Hệ thống (12)Kiến trúc hệ thống (12)Bảo mật ứng dụng web (1)

© 2026 Cà Phê & Code. Bảo lưu mọi quyền.