Posts

Showing posts with the label db

Add constraint FK and remove

ALTER TABLE IXU_MEMBERSHIP_HISTORY DROP CONSTRAINT FK_IXU_MEMBERSHIP_HISTORY; ALTER TABLE IXU_MEMBERSHIP_HISTORY ADD CONSTRAINT FK_IXU_MEMBERSHIP_HISTORY FOREIGN KEY (MEMBERSHIP_TYPE_ID)     REFERENCES IXU_MEMBERSHIP_TYPE(ID)

CREATE TABLE IN ORACLE

DROP TABLE IXU_TRANSACTION_HISTORY; CREATE TABLE IXU_TRANSACTION_HISTORY ( ID number(10) NOT NULL, TCBSID varchar2(20), ROLE varchar2(20), AWARD_TYPE varchar2(20), ACTION varchar2(20), REFERENCE_ID number(10), REFERENCE_LOCATION varchar2(50), CAMPAIGN_ID number(5), POINT number(20,2), OUTSTANDING number(20,2), ISSUED_DATE DATE, EXPIRED_DATE DATE, CREATED_DATE timestamp, UPDATED_DATE timestamp, DESCRIPTION nvarchar2(1000), CHECKSUM varchar2(100), HISTORY_KEY varchar2(100), SOURCE varchar2(100), CONSTRAINT PK_IXU_TRANSACTION_HISTORY PRIMARY KEY (ID) ); -- Generate ID using sequence and trigger CREATE SEQUENCE IXU_TRANSACTION_HISTORY_SEQ START WITH 1 INCREMENT BY 1; CREATE OR REPLACE TRIGGER IXU_TRANSACTION_HISTORY_SEQ_TR  BEFORE INSERT ON IXU_TRANSACTION_HISTORY FOR EACH ROW  WHEN (NEW.ID IS NULL) BEGIN  SELECT IXU_TRANSACTION_HISTORY_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL; END;

What is connection pool and why do we need it?

When your application needs to access your database several times. It is easy to open a connection for each request But it is not a performance application, to enhance the performance we need to care for POOL definition. I mean connection pool in database //Golang code psqlInfo := fmt . Sprintf ( "host=%s port=%d user=%s " + "password=%s dbname=%s sslmode=disable" , host , port , user , password , dbname ) db , err := sqlx . Open ( "postgres" , psqlInfo ) if err != nil { panic ( err ) } //set connection pool with maximum is 30 db . SetMaxOpenConns ( 30 ) //always available at least 5 connections for using db . SetMaxIdleConns ( 5 ) // db . SetConnMaxLifetime ( time . Minute )