본문 바로가기

Programing/DB25

[mariaDB] InnoDB 트랜잭션 mariaDB의 특정 스키마에 테이블 information 조회했더니 select count() 건과 테이블 건수가 다르다? 이유를 알아보자 information_schema 는 InnoDB의 통계 기반 추정치 row count 다. select count 보다 작업 속도가 훨씬 빠르다. InnoDB 는 "테이블에 현재 몇 건이 있다" 라는 단일 숫자를 항상 정확하게 갖지 않음.대신 각 트랜잭션의 읽기 시점(snapshot/read view) 에 따라 보이는 row version을 판단하고, information_schema.TABLES.TABLE_ROWS 에는 옵티마이저용 통계 추정값을 제공.트랜잭션 격리로 인해 다른 세션은 각기 다른 값을 가질 수 있으며, 각 세션의 입장에선 틀린 값이 아님. In.. 2026. 6. 11.
[MySQL] Partition 예제 ==> PARTITION 할 때 Column 하나에만 Primary Key 를 걸면 Error 발생. ==> 모든 Column 을 Partition 해야함. CREATE TABLE sales ( sales_id INT, sales_date DATE, amount INT, PRIMARY KEY (sales_id, sales_date, amount) ) PARTITION BY RANGE(YEAR(sales_date)) ( PARTITION p_2015 VALUES LESS THAN (2016), PARTITION p_2016 VALUES LESS THAN (2017), PARTITION p_2017 VALUES LESS THAN (2018), PARTITION p_others VALUES LESS THAN .. 2023. 1. 30.
[MySQL] With 예제 WITH RECURSIVE cte (n, fibonacci) AS ( SELECT 1, 1 UNION ALL SELECT n + 1, fibonacci + cte.fibonacci FROM cte WHERE n with를 통해 조건_1로 필터링 한 data를 조건_2로 다시 필터링 WITH cte AS ( SELECT * FROM table_1 WHERE condition_1 ) SELECT * FROM cte WHERE condition_2; https://chat.openai.com/chat 2023. 1. 29.
[MySQL] DISTINCT 조회 Data 중복 없이 조회 SELECT DISTINCT [Column 이름] FROM [Table 이름]; SELECT DISTINCT 'index' FROM 'people' https://blog.naver.com/PostView.naver?blogId=tang1013&logNo=222291646107&parentCategoryNo=&categoryNo=51&viewDate=&isShowPopularPosts=true&from=search 2023. 1. 11.