Thursday, 15 April 2021

string-concatenation-vs-stringbuilder-vs-string-format-performance

 https://kylewbanks.com/blog/java-string-concatenation-vs-stringbuilder-vs-string-format-performance



public class TestStrings {

    private static final String PROFILE_PICTURE_URL_BASE = "https://cdn.myapp.com/user/";
    private static final String PROFILE_PICTURE_URL_EXTENSION = ".png";
    private static final String PROFILE_PICTURE_URL = "https://cdn.myapp.com/user/%d.png";

    private static final int NUM_ITERATIONS = 1000000;
    
    public static void main(String[] args) {
        int userId;
        long startTime;
        
        // String Concatentation
        startTime = System.currentTimeMillis();
        for (userId = 0; userId < NUM_ITERATIONS; userId ++) {
            String profilePictureUrl = PROFILE_PICTURE_URL_BASE + userId + PROFILE_PICTURE_URL_EXTENSION;
        }
        System.out.println("String Concatentation: " + (System.currentTimeMillis() - startTime) + "ms");
        
        // StringBuilder
        startTime = System.currentTimeMillis();
        for (userId = 0; userId < NUM_ITERATIONS; userId ++) {
            StringBuilder sb = new StringBuilder(PROFILE_PICTURE_URL_BASE);
            sb.append(userId);
            sb.append(PROFILE_PICTURE_URL_EXTENSION);
            
            String profilePictureUrl = sb.toString();
        }
        System.out.println("StringBuilder: " + (System.currentTimeMillis() - startTime) + "ms");
        
        // String.format
        startTime = System.currentTimeMillis();
        for (userId = 0; userId < NUM_ITERATIONS; userId ++) {
            String profilePictureUrl = String.format(PROFILE_PICTURE_URL, userId);
        }
        System.out.println("String.format: " + (System.currentTimeMillis() - startTime) + "ms");
    }
}

Monday, 12 April 2021

Making dynamic query

 https://stackoverflow.com/questions/8549619/mysql-dynamically-build-query-string-in-a-stored-procedure-based-on-logic



CREATE  PROCEDURE `activate_games_pawan`(IN `gameId` INT(20))

BEGIN   

DECLARE whereCondition varchar(200);

CASE WHEN gameId>0 THEN

   SET @whereCondition =CONCAT(" ","sh_games.game_id=",gameId);

  SELECT @whereCondition;

  ELSE

  SET @whereCondition=1;

    SELECT @whereCondition;

  END CASE;

 SET @query=CONCAT("SELECT * FROM sh_games where ", @whereCondition);

  select @query;

PREPARE stmt FROM @query;

EXECUTE stmt;

DEALLOCATE PREPARE stmt;

END

Wednesday, 7 April 2021

Delete duplicate rows from mysql

  SET SQL_SAFE_UPDATES = 0;


    DELETE t1  FROM sh_learning_material AS t1

INNER JOIN sh_learning_material AS t2 

WHERE 

t1.id<t2.id AND

    t1.company_id = t2.company_id;