분류 전체보기

· DB/MySQL
MySQL 서버로 요청된 쿼리는 결과는 동일하지만, 내부적으로 그 결과를 만들어내는 방법은 매우 다양하다. 이런 다양한 방법 중에서 어떤 방법이 최적이고 최소의 비용이 소모될지 결정해야한다. MySQL에서도 쿼리를 최적으로 실행하기 위해 각 테이블의 데이터가 어떤 분포로 저장돼 있는지 통계 정보를 참조하며, 그러한 기본 데이터를 비교해 최적의 실행 계획을 수립하는 작업이 필요하다. MySQL 서버를 포함한 대부분의 DBMS에서는 옵티마이저가 이러한 기능을 담당한다. MySQL에서는 EXPLAIN이라는 명령으로 쿼리의 실행 계획을 확인할 수 있는데, EXPLAIN 명령의 결과에는 상당히 많은 정보가 출력된다, 이러한 내용들을 제대로 이해하려면 옵티마이저에 대해 지식을 갖추고 있어야 한다. 스트리밍 방식 -..
· DB/MySQL
클러스터링 인덱스 - 클러스터링 : 클러스터링이란 여러개를 하나로 묶는다는 의미로 주로 사용됨 , 클러스터링 인덱스도 비슷하다 MySQL에서 클러스터링 인덱스는 InnoDV스토리지 엔진에서만 지원하며, 나머지 스토리지 엔진에서는 지원되지 않는다 - 클러스터링 인덱스는 테이블의 프라이머리 키에 대해서만 적용된다 - 즉, 프라이머리 키 값이 비슷한 레코드끼리 묶어서 저장하는 것을 클러스터링 인덱스라고 ㅍ ㅛ현한다. - 프라이머리 키 값에 의해 레코드의 저장 위치가 결정된다 - 프라이머리 키 값으로 클러스터링 된 테이블은, 프라이머리 키 값 자체에 대한 의존도가 상당히 크기 때문에 신중히 프라이머리 키를 결정해야 한다. - 프라이 머리 키 값에 의해 레코드의 저장위치가 결정되므로 클러스터링 인덱스와 클러스터링..
· 자격증
회사에 기획팀 한 분이 새로 입사했다 오잉 근데 SQLD를 따셨다고,, 개발자도 시험보는거라고? 개발자가 가지고 있어야하는 자격증은 정보처리기사가 국룰로 알고있었고 그 다음이 네트워크관리사 정도로 알고 있었는데 SQLD는 뭐지? 하고 찾아본게 SQLD 자격증 시험을 치르게 된 사유 되시겠다,, 나는 전공자로 회사를 다닌지는 약 3년차정도 된다 근디 MySQL을 쿼리를 써봤지만 뭐 실무에서 썼던건 DML 쪼금만 아는 SQL 초보중의 초보였다 스터디하랴 야근하랴,, 분명히 한달전부터 시험공부를 시작하려고 했는데 막상 시작은 일주일전에 했다 근디 솔직히.. 전공자라 쉬울줄 알았는데 노랭이 책 문제풀고 한대 얻어맞았다 이렇게 어렵다고 ?!?!? 개망햇다 문제를 먼 100문제중에 98문제를 몰라서 해설지를 봤다 ..
· DB/MongoDB
find db.c.find() - 여러개를 추가하면 AND 조건으로 해석된다 db.c.find({"user" : "Joe", "age" : 23}) 반환받을 키 지정 db.c.find({},{"user" : 1, "age" : 1}) - find를 통해 특정한 값만 select하고 싶은 경우 {} 뒤에 매개변수에 원하는 키를 지정하면 된다 - _id는 지정하지 않아도 항상 반환되는데 db.c.find({},{"user" : 1, "_id" : 0}) 위에 처럼 0 으로 설정해서 뽑으면 제외할 수 있다 제약 사항 - 쿼리에는 몇가지 제약이 있는데, 그 중 하나는 데이터베이스에서 쿼리 도큐먼트 값은 반드시 상수(변하지 않는 수)여야 한다 - 아래 예시는 작동하지 않는다 db.c.find({"user" : "..
· DB/MongoDB
도큐먼트 삽입 - insertOne : 한 개 삽입할 때 db.movies.insertOne({"title" : "Stand By me"}) => 도큐먼트에 "_id" 키가 추가되고(제공하지 않는 경우) 도큐먼트가 몽고DB에 저장된다. - insertMany : 값을 대량 삽입할 때 db.movies.insertOne( {"title" : "Stand By me1"}, {"title" : "Stand By me2"}, {"title" : "Stand By me3"} ) => insertMany를 사용해서 대량 삽입할 때 배열 중간에 있는 도큐먼트에서 특정 유형의 오류가 발생하는 경우, 정렬 연산을 선택했는지 혹은 비정렬 연산을 건택했는지에 따라 발생하는 상황이 달라진다. => 순서가 정해지지 않았다면 정..
회사에서 flutter앱으로 프로젝트를 만드는데flutter 앱의 웹뷰를 디버깅할 일이 있어서 chrome inspect 켜는데 연결이 안돼서코드를 찾았다 flutter 앱에서 찾아야하는데main 바로 아래에 await InAppWebViewController.setWebContentsDebuggingEnabled(true); 위의 코드를 넣어 주면된다.main을 async로 바꿔줘야 한다. 나는 플랫폼이 안드로이드 일때만 웹뷰 디버깅을 할테니까 Platform.isAndroid위의 조건을 걸었다. 출처: https://kimsw509.tistory.com/39 [개발자이너:티스토리] > 본문 내용에 있는 내용은 deprecated 되어서 일부 코드를 수정했다 추가적인 부분은 아래 내용에서 확인할 수 있..
· DB/MySQL
트랜잭션이란? 작업의 완전성을 보장해 주는 것 논리적인 작업 셋을 모두 완벽하게 처리하거나, 처리하지 못할 경우에는 원 상태로 복구해서 작업의 일부만 적용되는 현상(paritial upadte)이 발생하지 않게 만들어주는 기능이다. 잠금과 트랜잭션의 차이 잠금 : 동시성을 제어하기 위한 기능 트랜잭션 : 데이터의 정합성을 보장하기 위한 기능 * 격리수준 : 하나의 트랜잭션 내에서 또는 여러 트랜잭션 간의 작업 내용을 어떻게 공유하고 차단할 것인지를 결정하는 레벨을 의미한다. MySQL에서의 트랜잭션 - 트랜잭션은 꼭 여러개의 변경 작업을 수행하는 쿼리가 조합됐을 때만 의미 있는 개념이 아니라, 하나의 논리적인 작업 셋에 하나의 쿼리가 있든 두개의 쿼리가 있든 관계없이 논리적인 작업 셋 자체가 100% 적..
function addHyphen(obj) { var phone = obj; var num = phone.value.replace(/-/g, ''); var len = num.length; if (len < 4) { phone.value = num; } else { if(num.substr(0, 2) == '02') { if (len < 7) { phone.value = num.substr(0, 2) + '-' + num.substr(2); } else if (len < 10) { phone.value = num.substr(0, 2) + '-' + num.substr(2, 3) + '-' + num.substr(5); } else { phone.value = num.substr(0, 2) + '-' +..
· DB/MySQL
본 글은 1회독을 겨우한 자의 정리본으로 도움이 되지 않을 수 있습니다 4-1-1. MySQL 전체 구조 mysql은 크게 mysql 엔진 / 스토리지 엔진으로 나뉘어져 있음 1) mysql 엔진 : 커넥션 핸들러 / SQL 파서 / 전처리기 / 옵티마이저 2) 스토리지 엔진 : mysql엔진은 dbms의 두뇌에 해당하는 처리를 수행, 실제 데이터를 디스크 스토리지에 저장하거나 디스크 스토리지로 부터 데이터를 읽어오는 부분은 스토리지 엔진이 전담함. mysql 엔진과 스토리지 엔진 사이에 데이터를 주고받는 것이 핸들러 API 4-1-2. mysql 스레딩 구조 - mysql 서버는 프로세스 기반이 아니라 스레드 기반으로 작동함 - 이는 포그라운드 스레드와 백그라운드 스레드로 구분할 수 있음 1) 포그라운..
· DB/MongoDB
MongoDB는 우리가 알고있는 MySQL과 다르게 관계형 데이터베이스가 아닌 도큐먼트 지향 데이터베이스다. 아래에서 부턴 편하게 말하기 위해서 MongoDB를 몽고디비라고 부르겠다 1. 손 쉬운 사용 몽고디비는 도큐먼트의 키와 값을 미리 정의하지 않는다. 따라서 고정된 스키마가 없기 때문에 필요할때마다 필드를 추가하거나 제거할 수 있다 -> 개발속도를 향상 시킬 수 있다 2. 확장 가능한 설계 오늘날 저장할 데이터가 증가함에 따라 개발자는 '데이터베이스를 어떻게 확장할 것인가?' 하는 문제에 부딪히는데, 데이터베이스를 결국 확장한다는 것은 더 큰 장비로 성능확장을 할지, 아니면 데이터를 나눠서 분산확장할 지 결정해야하는데, 성능확장이 더 편한길이지만 가격이 비싸고 결국 더는 확장할 수 없는 물리적 한계..
프흐프좋아
'분류 전체보기' 카테고리의 글 목록 (3 Page)